#include <iostream> using namespace std; class Test { public: Test(){ cout << "constructor"<<endl; } // Test(Test & hu){ // cout << "copy constructor" << endl; // } ~Test(){} }; Test fun(Test x) { return x; } int main(void) { Test h1; Test h2 = fun(h1); return 0; } |
原帖由 qylhnu 于 2008-10-15 23:34 發(fā)表
非常感謝!大概明白了。
再麻煩下,我試著同時加了有const和無const的兩個版本,然后發(fā)現(xiàn)系統(tǒng)直接調(diào)用的是無const的那個版本,這是為什么呢?
#include <iostream> using namespace std; class Test { public: Test(){ cout << "constructor"<<endl; } Test(const Test & hu){ cout<<": const copy constructor" << endl; } Test(Test & hu){ cout <<": copy constructor" << endl; } ~Test(){} }; Test fun(Test x) { return x; } int main(void) { Test h1; Test h2 = fun(h1); return 0; } |
歡迎光臨 Chinaunix (http://www.72891.cn/) | Powered by Discuz! X3.2 |