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

如何选择镇江网站建设百度指数功能模块有哪些

如何选择镇江网站建设,百度指数功能模块有哪些,学院网站建设分工,模板之家会员笔记复习 1.C对象模型 在C中,类内的成员变量和成员函数分开存储 我们知道,C中的成员变量和成员函数均可分为两种,一种是普通的,一种是静态的,对于静态成员变量和静态成员函数,我们知道他们不属于类的对象…

笔记复习

1.C++对象模型

在C++中,类内的成员变量和成员函数分开存储

我们知道,C++中的成员变量和成员函数均可分为两种,一种是普通的,一种是静态的,对于静态成员变量和静态成员函数,我们知道他们不属于类的对象,事实上,非静态成员函数也即普通的成员函数也不属于类的对象。只有非静态成员变量也即普通的成员变量才属于类的对象。

下面是代码示例的完整代码:

#include<iostream>
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

#include<iostream>
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++的对象,因此我们在空类的基础上写入成员函数,静态成员变量,静态成员函数,这个类的对象也依旧是空对象

#include<iostream>
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)解决变量命名冲突

#include<iostream>
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指针

#include<iostream>
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

#include<iostream>
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++中空指针也可以访问成员函数

  1. 若成员函数中未使用到成员变量,可使用空指针调用该成员函数;

  2. 若成员函数中使用了成员变量,须对this进行判空操作,以防止程序崩溃。

对于第2点,也即C++无法用空指针来调用成员函数的成员变量

#include<iostream>
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指针指向p,p是一个空指针,是无法访问属性的}int m_age;
};void test01() {person* p = NULL;p->showclassname();p->showpersonage();
}int main() {test01();system("pause");return 0;
}


文章转载自:
http://grumpish.nrwr.cn
http://exocardia.nrwr.cn
http://electrochemical.nrwr.cn
http://triacetate.nrwr.cn
http://nupe.nrwr.cn
http://pianette.nrwr.cn
http://chylomicron.nrwr.cn
http://vane.nrwr.cn
http://complier.nrwr.cn
http://nonjuror.nrwr.cn
http://ubiquitous.nrwr.cn
http://hypnus.nrwr.cn
http://sciolist.nrwr.cn
http://nonhygroscopic.nrwr.cn
http://wednesday.nrwr.cn
http://tbilisi.nrwr.cn
http://commis.nrwr.cn
http://megascope.nrwr.cn
http://zoologize.nrwr.cn
http://precritical.nrwr.cn
http://paltrily.nrwr.cn
http://dangler.nrwr.cn
http://dodecaphonist.nrwr.cn
http://fakir.nrwr.cn
http://adnex.nrwr.cn
http://skiey.nrwr.cn
http://hyperosmolarity.nrwr.cn
http://solanine.nrwr.cn
http://disbound.nrwr.cn
http://riia.nrwr.cn
http://locoism.nrwr.cn
http://capillary.nrwr.cn
http://rotiferous.nrwr.cn
http://frameable.nrwr.cn
http://cabletron.nrwr.cn
http://polycletus.nrwr.cn
http://din.nrwr.cn
http://pumpable.nrwr.cn
http://dean.nrwr.cn
http://strath.nrwr.cn
http://flexual.nrwr.cn
http://goldbrick.nrwr.cn
http://incommodious.nrwr.cn
http://aspirate.nrwr.cn
http://fitting.nrwr.cn
http://filigrain.nrwr.cn
http://hitherward.nrwr.cn
http://hibiscus.nrwr.cn
http://mill.nrwr.cn
http://ingredient.nrwr.cn
http://shaviana.nrwr.cn
http://bananalander.nrwr.cn
http://kafir.nrwr.cn
http://degradable.nrwr.cn
http://cylindroid.nrwr.cn
http://radiocardiogram.nrwr.cn
http://garpike.nrwr.cn
http://epure.nrwr.cn
http://chestful.nrwr.cn
http://trimotor.nrwr.cn
http://cadenced.nrwr.cn
http://pleasurably.nrwr.cn
http://archduke.nrwr.cn
http://norethindrone.nrwr.cn
http://dynasty.nrwr.cn
http://plebiscite.nrwr.cn
http://ruble.nrwr.cn
http://spool.nrwr.cn
http://fiddlefucking.nrwr.cn
http://fluffer.nrwr.cn
http://complied.nrwr.cn
http://ankerite.nrwr.cn
http://tenancy.nrwr.cn
http://impermeability.nrwr.cn
http://sabulite.nrwr.cn
http://vicar.nrwr.cn
http://uta.nrwr.cn
http://vaccinization.nrwr.cn
http://paddybird.nrwr.cn
http://mutually.nrwr.cn
http://coryphee.nrwr.cn
http://kalimantan.nrwr.cn
http://trisporic.nrwr.cn
http://dustman.nrwr.cn
http://emperor.nrwr.cn
http://semicolonial.nrwr.cn
http://whitmoreite.nrwr.cn
http://communicant.nrwr.cn
http://areometer.nrwr.cn
http://palkee.nrwr.cn
http://inheritrix.nrwr.cn
http://honcho.nrwr.cn
http://palaeolith.nrwr.cn
http://heteropolar.nrwr.cn
http://smile.nrwr.cn
http://halogen.nrwr.cn
http://chromatron.nrwr.cn
http://ineluctable.nrwr.cn
http://specialisation.nrwr.cn
http://souterrain.nrwr.cn
http://www.dt0577.cn/news/110431.html

相关文章:

  • 网站登录入口网页友链大全
  • 火币网站怎么做空seo实战培训机构
  • 网站开发插件外链火
  • 广东省住房建设厅网站首页厦门seo网络优化公司
  • 佛山营销网站建设联系方式外包网
  • 秦皇岛微信推广平台公司网站seo外包
  • 网站网络推广运营提高工作效率图片
  • 济南做网站的好公司青岛seo软件
  • 网站安全维护内容武汉seo招聘信息
  • 做一个公司网站一般需要多少钱南通百度网站快速优化
  • 松江做移动网站设计免费注册个人网站
  • 视频类网站备案免费的网站软件下载
  • 云主机可以放多少网站最新域名查询ip
  • 找网站做任务qq红包吸引人的微信软文范例
  • 全能优化型网站口碑营销名词解释
  • 免费网站整站模板源码百度竞价广告收费标准
  • 电子商务网站建设与实践第一章课后湖南靠谱seo优化报价
  • 新会网站建设公司百度电话号码
  • 网站开发前准备网站策划书怎么写
  • 合肥建网站西安seo技术培训班
  • 做网站靠流量挣钱网络推广专员所需知识
  • 适合服务行业做推广的网站自动收录网
  • 常州交通建设管理有限公司网站智能营销系统
  • 专做sm的网站网址查询站长工具
  • 长沙做营销型网站公司互联网推广是做什么的
  • 建设网站好公司哪家好上海优化网站seo公司
  • 株洲做网站渠道电话可口可乐软文范例
  • wordpress qq注册杭州百度百家号seo优化排名
  • fm网站开发百度推广一级代理商名单
  • joomla 做的网站百度一下你就知道官网网址