/* * Function: 构造函数的分类及调用 * Date: 2024-04-19 * Design by JRNitre * * Function: * * 构造函数 * * 析构函数 * */ #include using namespace std; class person{ private: int age; public: /* * 构造函数 - 无参构造 * 如果不写构造函数,编译器默认提供的是无参构造函数 * */ person(){ cout << "构造函数" << endl; } /* * 构造函数 - 有参构造 * */ person(int a){ this->age = a; } /* * 拷贝构造函数 * 将传入的对象的属性拷贝至当前对象中 * * 1. 需要拷贝的对象需要是 const 静态对象 * 2. 传入需要通过地址的方式传入 * */ person(const person &p){ this->age = p.age; } /* * 析构函数 * */ ~ person(){ cout << "析构函数" << endl; } int getAge(){ return this->age; } }; void test_1 (){ // 默认构造函数调用 person p1; // 有参构造函数 person p2(10); // 拷贝构造函数 person p3(p2); } void test_2 (){ person p4 = person (10); person p5 = 10; } int main (){ // test_1(); test_2(); system("pause"); return 0; }