#include<iostream>

using namespace std;

//构造函数的调用规则

//1,创建一个类,C++编译器会给每个类都添加至少三个函数

//默认构造(空实现)

//析构函数(空实现)

//拷贝构造(值拷贝)

//2, 如果我们写了有参构造函数,编译器就不再提供默认构造,依然提供拷贝构造。

//如果我们写了拷贝构造函数,编译器不再提供其他普通构造函数了

class person {

public:

/*person() {

 cout << "person的默认构造函数调用" << endl;

}*/

person(int age) {

 cout << "person的有参构造函数调用" << endl;

 m_Age = age;

}

/*person(const person &p) {

 cout << "person的拷贝构造函数的调用" << endl;

 m_Age = p.m_Age;

}*/

~person() {

 cout << "person的析构函数的调用" << endl;


}

int m_Age;

};

/*void test01() {

person p;

p.m_Age = 18;

person p2(p);

cout << "p2的年龄为:" << p.m_Age << endl;

}*/

void test02() {

person p(18);

person p2(28); 

}

int main() {

//test01();

test02();

system("pause");

return 0;

}