#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std;class Person { public:Person(){cout << "默認構造函數調用" << endl;}Person(int a){m_Age = a;cout << "有參構造函數調用" << endl;}Person(const Person & p ){m_Age = p.m_Age;cout << "拷貝構造函數調用" << endl;}~Person(){cout << "析構函數調用" << endl;}int m_Age; };//1、使用一個已經創建好的對象來初始化另一個對象 void test01() {Person p1(18);Person p2(p1);cout << "p2年齡為: " << p2.m_Age << endl; }//2、以值傳遞的方式 給函數的參數傳值 void doWork( Person p) { }void test02() {Person p1;doWork(p1); }//3、以值的方式返回局部對象 Person doWork2() {Person p1;return p1; }void test03() {Person p = doWork2(); }/*編譯器將代碼進行了優化void doWork2(Person & p){}void test03(){Person p;doWork2(p);}*/int main(){//test01();//test02();test03();system("pause");return EXIT_SUCCESS; }