就是其中任一在代碼中使用的區別,因爲我已經使用here(第44行廣告線45都工作得不錯)默認複製建築工和默認的賦值操作符
摘錄:
Date temp = *this; //ASSIGNMENT OPERATOR CALL(PROVIDED BY COMPILER)
//Date temp(*this); //COPY CONSTRUCTOR CALL(PROVIDED BY COMPILER)
我的意見:是否在賦值期間像object1 = object2; object2的內容被刪除並放置在object1中,而如果通過拷貝構造函數發生同樣的事情,object2的內容仍然保留(我的意思就像單詞建議「複製」一樣)。
注:順便說一下我的代碼編譯的罰款在Microsoft Visual C++ 2008,但它在ideone.com.Any原因是什麼給了一個警告
prog.cpp: In function ‘std::ostream& operator<<(std::ostream&, const Date&)’:
prog.cpp:103: warning: deprecated conversion from string constant to
。
警告是不言而喻的 - 你試圖存儲'爲const char *'的'字符*'(其中孔陣列 - 但你現在應該是字符串文字是const的理解) – Nim
謝謝,我現在明白了但MV C++沒有給出任何警告,編譯器幫助我的那個 – munish
operator =從來不會在你的摘錄中被調用。 – pmr