C++拷贝构造函数的调用时机
生活随笔
收集整理的這篇文章主要介紹了
C++拷贝构造函数的调用时机
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#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 test04() {Person p1;Person p2 = p1; // 這個 賦值操作 也會調用 拷貝構造函數
}/*編譯器將代碼進行了優化void doWork2(Person & p){}void test03(){Person p;doWork2(p);}*/int main(){//test01();//test02();test03();system("pause");return EXIT_SUCCESS;
}
總結
以上是生活随笔為你收集整理的C++拷贝构造函数的调用时机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lg是什么牌子的电视
- 下一篇: C++ 不懂的地方 记录01