拷贝构造函数

mac2026-04-08  2

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; } private: string name; int age; }; void test01() { Person p; } void test02() { //1.括号法 Person p;//默认构造函数调用,不要加()。Person p();会被看成函数声明。 Person p2(10);//有参构造函数 Person p3(p2);//拷贝构造函数 //2.显示法 Person p; Person p2 = Person(10); Person p3 = Person(p2); Person(10);//匿名对象,特点:当前行执行完毕,系统会立即回收匿名对象。 //3.隐式转换法 Person p4 = 10;//相当于 Person p4=Person(10); } int main() { system("pause"); return 0; }

来源:黑马程序员

最新回复(0)