c++——成员对象和封闭类

荒凉一梦 提交于 2020-02-28 03:42:12

成员对象:一个类的成员变量是另一个类的对象。包含成员对象的类叫做封闭类。
包含成员对象的封闭类的执行顺序是怎么样的呢?

当封闭类对象生成时:
• S1: 执行所有成员对象 的构造函数 • S2: 执行 封闭类 的构造函数
成员对象的构造函数调用顺序 • 和成员对象在类中的说明顺序一致 • 与在成员初始化列表中出现的顺序无关
当封闭类的对象消亡时:
• S1: 先执行 封闭类 的析构函数 • S2: 执行 成员对象 的析构函数
析构函数顺序和构造函数的调用顺序相反
友元可以分为两类:友元函数与友元类;
友元函数:一个类的友元函数可以访问这个类的私有成员,要在这个类里用friend关键字声明。
友元类:A声明B为它的友元类,则B成员函数可以访问A的私有成员。

友元关系不能继承,不能传递
this指针的作用:指向成员函数所作用的对象。
静态成员的参数就是程序中列出的参数,而类中非静态成员函数的参数有一个this指针。
静态成员函数不能使用this指针
常量对象:常量函数与常引用。
常量对象:在对象前加一个const关键字,可以是对象不被改变,常量对象只能调用常量成员函数。
常量成员函数:在类的成员函数说明后面可以加const关键字,则该成员函数成为常量成员函数,不能修改成员变量,同名的成员函数加const算函数的重载。
对象作为函数的参数时,用常引用,既不会调用复制构造函数,又不会修改对象。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!