#include<iostream>
using namespace std;
#include<string>
class Person {
int age;
public:
Person() {
cout << "Person的无参构造函数调用" << endl;
};
Person(int a) {
age = a;
cout << "Person的有参构造函数调用" << endl;
};
//拷贝构造函数
Person(const Person &p){
cout << "Person的拷贝构造函数调用" << endl;
//将传入的人身上的所有属性,拷贝到我身上
age = p.age;
// m_Age = p.m_Age;
};
~Person() {
cout << "Person的析构函数调用" << endl;
}
int m_Age;
};
void test() {
//1.括号法
Person p1; //默认构造函数调用
Person p2(10); //有参构造函数
Person p3(p2); //拷贝构造函数
//2、显示法
//3、隐式转换法
}
//1、使用一个已经创建完毕的对象来初始化- -个新对象
void test01() {
Person p1(20);
Person p2(p1);
cout << "P2的年龄为:" << p2.m_Age << endl;
};
//2、值传递的方式给函数参数传值
void doWork(Person p) {
}
void test02(){
Person p;
doWork(p);
}
int main() {
test();
// test01();
system("pause");
}
#include<iostream>
using namespace std;
#include<string>
class Person {
public:
Person() {
cout << "Person的无参构造函数调用" << endl;
};
Person(int a) {
age = a;
cout << "Person的有参构造函数调用" << endl;
};
//拷贝构造函数
Person(const Person &p){
cout << "Person的拷贝构造函数调用" << endl;
//将传入的人身上的所有属性,拷贝到我身上
age = p.age;
// m_Age = p.m_Age;
};
~Person() {
cout << "Person的析构函数调用" << endl;
}
int age;
int m_Age;
};
void test() {
//1.括号法
Person p1; //默认构造函数调用
Person p2(10); //有参构造函数
Person p3(p2); //拷贝构造函数
cout << "p2的年龄为 :" << p2.age << endl;
cout << "p3的年龄为 :" << p2.age << endl;
//2、显示法
//3、隐式转换法
}
//1、使用一个已经创建完毕的对象来初始化- -个新对象
void test01() {
Person p1(20);
Person p2(p1);
cout << "P2的年龄为:" << p2.m_Age << endl;
};
//2、值传递的方式给函数参数传值
void doWork(Person p) {
}
void test02(){
Person p;
doWork(p);
}
int main() {
test();
// test01();
system("pause");
}