CPP由浅入深(三)
1 初始化列表
作用:CPP提供了初始化列表语法,用来初始化属性
语法:构造函数():属性1(值1),属性2(值2)...{}
class Person {
public:
//初始化列表初始化属性:
Person(int a,int b,int c) :m_A(a),m_B(b),m_c(c)
{
}
int m_A;
int m_B;
int m_c;
};
void test01() {
Person p(10,20,30);
}
2 类对象作为类成员
CPP类中的成员可以是另一个类的对象,我们称该成员为 对象成员
例如:
class A{}
class B
{
A a;
}
B类中有对象A作为成员,A为对象成员
那么当创建B对象时,A与B 的构造和析构顺序是谁先谁后?
当其他类的对象作为本类的成员,构造时候先构造类对象,再构造自身,析构的顺序与构造相反。因为变量是放在栈区,符合栈FIFO的特点。
class Phone {
public:
Phone(string pName) {
m_PName = pName;
cout << "Phone的构造函数调用" << endl;
}
~Phone()
{
cout << "Phone的析构函数调用" << endl;
}
string m_PName;
};
class Person {
pub