直接上代码 ↓↓↓↓
class Person{
public:
Person(){
cout << "Person的构造函数的调用" <<endl;
}
Person(int a){
age = a;
cout << "Person有参构造" << endl;
}
//拷贝构造函数
Person(const Person &p){
age = p.age;
cout << "Person的拷贝" <<endl;
}
//析构函数
~Person(){
cout << "Person的析构函数的调用" << endl;
}
int age;
};
类中定义了无参、有参、拷贝构造函数、析构函数。那么如何对这些函数进行初始化呢?有以下几种方法:
-
括号法:
//默认构造函数的调用 Person p; Person p1(10); Person p2(p1);
-
显示法:
Person p1; Person p2 = Person (10); //有参构造 Person p3 = Person (p2); //拷贝构造 //Person (10); 匿名对象 //特点:当前行执行结束后,系统会立即回收掉匿名对象
-
隐式转换法:
Person p4 = 10; // Person p4 = Person (10); Person p5 = p4; //Person p5 = Person (p4);