当前位置: 首页 > news >正文

网站买空间的价格制作书签简单又漂亮

网站买空间的价格,制作书签简单又漂亮,网站权重等级,长沙app开发公司排名笔记复习 1.C对象模型 在C中#xff0c;类内的成员变量和成员函数分开存储 我们知道#xff0c;C中的成员变量和成员函数均可分为两种#xff0c;一种是普通的#xff0c;一种是静态的#xff0c;对于静态成员变量和静态成员函数#xff0c;我们知道他们不属于类的对象…笔记复习 1.C对象模型 在C中类内的成员变量和成员函数分开存储 我们知道C中的成员变量和成员函数均可分为两种一种是普通的一种是静态的对于静态成员变量和静态成员函数我们知道他们不属于类的对象事实上非静态成员函数也即普通的成员函数也不属于类的对象。只有非静态成员变量也即普通的成员变量才属于类的对象。 下面是代码示例的完整代码 #includeiostream using namespace std;class person {int m_A;static int m_B;void func() {}static void func1() {} };void test01() {person p;cout size of p sizeof(p) endl; }void test02() {person p;cout size of p sizeof(p) endl; }int main() {test01();test02();system(pause);return 0; } 在C中空对象的内存空间为一个字节这是由C编译器分配的目的是为了区分空对象占内存的位置这样每个对象都会有独一无二的内存地址当我们删除person类中的代码运行程序后将会输出两个1 #includeiostream using namespace std;class person { };void test01() {person p;cout size of p sizeof(p) endl; }void test02() {person p;cout size of p sizeof(p) endl; }int main() {test01();test02();system(pause);return 0; } 前面我们讲到只有成员变量才属于C的对象因此我们在空类的基础上写入成员函数静态成员变量静态成员函数这个类的对象也依旧是空对象 #includeiostream using namespace std;class person {static int m_B;void func() { }static void func1() {} };void test01() {person p;cout size of p sizeof(p) endl; }void test02() {person p;cout size of p sizeof(p) endl; }int main() {test01();test02();system(pause);return 0; } 2.this指针 我们知道当我们创建并调用类的对象时这些对象会共用类中的成员函数那么这些函数如何区分时哪个对象调用自己呢这时候就有了this指针C通过提供this指针来解决该问题。 this指针是一种特殊的指针this指针指向被调用成员函数的所属的对象this指向整个对象而不只是对象里面的成员。在非静态成员函数内部你可以使用 this 指针访问调用对象的成员。this 实际上是当前类类型的指针例如对于类Kunkun的成员函数this 是 Kunkun 类型的指针。 作用 1解决变量命名冲突 2在类的非静态成员函数中返回对象本身可使用return*this this指针还有更多用途但过于复杂这里不再介绍 1解决变量命名冲突 #includeiostream using namespace std;class person { public:person(int age) {age age;}int age; };void test01() {person p1(18);p1.age 18; }int main() {test01();return 0; } 在这份代码种person有参函数中的age是赋值给形参即形参赋值给形参并没有将接收到的形参的值赋值给成员变量因此成员变量未初始化当我们运行这个代码的时候就会出现成员变量未初始化的问题这时候我们需要使用this指针 #includeiostream using namespace std;class person { public:person(int age) {this-age age;}int age; };void test01() {person p1(18);p1.age 18; }int main() {test01();return 0; } 这里this指针指向被调用函数person有参函数所属对象p1的成员变量age这样就把age区分开了不过在实际的编程中我们会规范化命名尽量避免这种情况出现。 2在类的非静态成员函数中返回对象本身可使用return*this #includeiostream using namespace std;class person { public:person(int age) {this-age age;}person personaddage(person p) {this-age p.age;//将自身的年龄加上传入对象的年龄return *this;//this返回的是person类型的对象因此函数要设置为person类型允许函数返回一个对象的引用而不是一个新的对象返回对象的引用允许多个函数连续调用操作同一个对象}int age; };void test02() {person p1(10);person p2(10);//链式调用p2.personaddage(p1).personaddage(p1).personaddage(p1);//p2是对象因此p2.personaddage(p1)语法正确而如果没有return *this;//那么返回的数据类型就是int类型int.personaddage(p1)不成立因此需要返回对象cout p2.age endl; }int main() {test02();return 0; } 细心的小伙伴可以发现this指针指向一个值的时候我们修改了这个值那么this指针能否修改指针的指向呢答案是不能因此this指针实际上是指针常量指针指向的值可以改变但指针的指向无法改变 3.空指针访问成员函数 C中空指针也可以访问成员函数 若成员函数中未使用到成员变量可使用空指针调用该成员函数 若成员函数中使用了成员变量须对this进行判空操作以防止程序崩溃。 对于第2点也即C无法用空指针来调用成员函数的成员变量 #includeiostream using namespace std;class person { public:void showclassname() {cout this is person class endl;}void showpersonage() {if (this NULL) {//没有判空操作时程序会报错return;}cout age this-m_age endl;//this指针指向pp是一个空指针是无法访问属性的}int m_age; };void test01() {person* p NULL;p-showclassname();p-showpersonage(); }int main() {test01();system(pause);return 0; }
http://www.dnsts.com.cn/news/229748.html

相关文章:

  • 专业建站推广企业简述网站制作步骤
  • 邢台网站建设策划seo手机排名软件
  • 网站建设图片链接方法o2o电子商务网站开发与运营
  • 丹东网站推广网站建设价钱差异
  • 手机上做网站的软件个人建站平台
  • 如何制作自己的网站视频教程免费网站打包
  • 谷歌网站模板淘宝seo名词解释
  • 建设银行网站无法登陆做网站为什么需要营业执照
  • 用粉色做网站主题色网站 搭建 亚洲服务器
  • 企业所得税税收优惠山西seo排名
  • dede免费模板教育网站中小企业网络安全
  • 做网站的公司主要工作wordpress 用户插件
  • 多种五屏网站建设企业平台网站建设方案
  • 北京网站制作公司都在哪里矿区网站建设
  • 网站建设买了域名茌平网站制作
  • 网站开发著作权黄页内容
  • 济南网站制作建设七台河网站制作
  • 冠县做网站网站建设制作过程
  • 用php做的旅游网站付费小说网站怎么做
  • 主题资源网站建设反思安徽企业平台网站建设
  • 培训型网站 建设方案免费建站平台排行榜
  • 网站建设赛车最新版微信app下载安装
  • 创做网站个人网站-个人主页作业
  • 秦皇岛市教育考试院网站wordpress 画线不显示不出来
  • 单位网里建网站南通网站建设电话
  • 基金会网站建设方案wordpress数据库清理
  • 大型门户网站开发教程工商公示信息查询系统官网
  • 互联网公司网站模板平台搭建教程
  • 网站做的好腾讯云如何做网站
  • 免费域名 网站室内设计作品欣赏