2020年8月6日 星期四

copy constructor & copy assignment constructor & default constructor

copy constructor
A::A(const A& a)
{
    // code
}

使用時機:有指標的時候

使用方法:
A a;
a.setValue(.....); // 初始化a
A b(a);

注意:跟Copy Assignment Operator不一樣!!
copy constructor是一種constructor,顧名思義是在初始化的時候用的。而copy assignment operator則是跟 = 有關。


copy assignment constructor
A& A::operator=(const A& a)
{
    //code
    return *this;
}
note:回傳參考!!
參考連結:
http://jyleef.blogspot.com/2012/04/copy-constructor.html
[C++筆記] 拷貝建構式(Copy Constructor) & 複製指派運算子(Copy Assignment Operator)


default constructor
如果沒有宣告constructor的話,會自動生成一個沒有任何參數的constructor,像這樣:
A::A(){;}
但如果有宣告constructor的話,就不會自動生成。

沒有留言:

張貼留言