类中的类成员对象的初始化和析构
来源:互联网 发布:linux操作系统好用吗 编辑:程序博客网 时间:2024/05/05 10:13
一、在类中的成员对象为一个对象的构造顺序和析构顺序
#include<iostream>
using namespace std;
class B
{
public:
B(int x){this->x=x;cout<<this->x<<"--"<<"B构建"<<endl;}
~B(){cout<<this->x<<"--"<<"B析构"<<endl;}
private:
int x;
};
class A
{
public:
A(int x,int y):b(x),c(y)
{
cout<<"A构建"<<endl;
};
~A(){cout<<"A析构"<<endl;}
private:
B b,c;
};
void main()
{
A a(4,5);
}
运行的结果是:
重点:构造函数的顺序是先构造类成员对象,类成员的对象的顺序是按照类的成员定义的顺序来初始化
先初始化b然后初始化c,最后初始化本身的对象a,析构的顺序则是完全相反的顺序。
二、类中的成员变量是引用或常量就一定要进行初始化
#include<iostream>
using namespace std;
class A
{
public:
A(int x,int y):x(x),y(y){}
private:
const int x;
int &y;
};
void main()
{
A a(2,3);
}
重点:常量和引用一定要在类的列表中进行初始化,否则会报错。
- 类中的类成员对象的初始化和析构
- android中的类加载和静态成员变量的初始化
- C++ 类中的static成员的初始化和特点
- c++中成员对象初始化和类继承初始化
- 类对象的成员变量初始化
- 类成员的初始化--成员初始化列表(常量,引用,成员对象)
- 变量和类成员的初始化问题
- 类和对象:数据成员之使用默认参数初始化
- 类成员的初始化
- 类的成员初始化
- 类的初始化和对象的初始化
- 九、构造函数和析构函数(三) 初始化列表、对象成员初始化、const,引用成员初始化
- java类的成员初始化顺序和初始化块知识
- java类的成员初始化顺序和初始化块知识
- java类的成员初始化顺序和初始化块知识
- java类的成员初始化顺序和初始化块知识
- java类的成员初始化顺序和初始化块知识
- java类的成员初始化顺序和初始化块顺序
- JavaScript中的<noscript>元素
- 三层架构的 写 读 删除
- java 自学日志【五】---面向对象之封装
- uva 11157 Dynamic Frog (贪心)
- 数学符号大全 打不出就复制吧
- 类中的类成员对象的初始化和析构
- B树、B-树、B+树、B*树
- 树莓派上浙大的vpn
- /MD、/MT、/LD(使用运行时库)
- sqlite数据库中的sql语句
- unix常用脚本
- Linux tftp 移植
- PAC脚本的编写
- VC MFC类中获得其它类指针