1樓:愛夜
class test
;test::test(void)
test::test(test& item) //拷貝this->data = new char[itemlen];
p = this->data;
q = item.data;
while( itemlen-- &&(*p++ = *q++));
return;
}void test::operator=(test& item)this->len = item.len;
if( this->len == 0 )
this->data = new char[itemlen];
p = this->data;
q = item.data;
while( itemlen-- &&(*p++ = *q++));
return;
}test::~test()
}test::test(char * item,int n)this->data = new char[n];
p = this->data;
q = item;
while( len-- &&(*p++ = *q++));
return;}
c++中拷貝建構函式和賦值運算子過載本質上一樣麼
2樓:匿名使用者
本質不一樣,語法上也不一樣
他們的區別:
拷貝建構函式是在一堆原始的記憶體上建立起一個物件。
複製運算子過載是在已初始化的物件上進行復制。
3樓:千鋒教育
複製構造函
數接受單個類型別引用形參,這個形參一般用const修飾。
class a
;一般的類,編專譯器合成的建構函式就能完成屬必要的工作。擔當類有一個資料成員是指標,或者成員表示在建構函式中分配的其他資源;在建立新物件時必須做一些特定工作。這兩種情況必須定義複製建構函式。
複製操作符過載,由operator後面跟所定義的操作符符號,通過定義名為operator=函式來對賦值進行定義。該操作符函式有兩個形參:第一個形參對應左邊的運算元(隱式繫結到this指標了),第二個形參對應右運算元。
返回型別應該與內建賦值運算返回的型別相同,內建型別的賦值運算返回對右運算元的引用,賦值操作符也返回對同一型別的引用。
class b
;可以使用合成複製建構函式的類通常也可以使用合成賦值操作符。一般來說,如果類需要複製建構函式,也就需要賦值操作符。
4樓:匿名使用者
假設你有一個類a,和一個已有的類物件b時
當你執行a a=b來建立物件a時呼叫的是拷貝建構函式,當你執行a a;a=b時呼叫的是運算子過載就功能而言,感覺差別不大
5樓:葉片舟
形式上不一樣,本質一樣
都是為了防止,淺拷貝帶來的錯誤
用的時機不懂
既然是建構函式,所以就是在初始化使用的, 過載賦值操作符就是賦值時用的
c++關於拷貝建構函式和等號的過載
6樓:成都癲癇匯康
複製建構函式接受
bai單du
個類型別引用形參,這個形zhi參一般用const修飾。
class a
;一般的類,編譯器dao合成內
的建構函式就能完成必要的工作。擔當類有一個資料成員是指標,或者成員表示在建構函式中分配的其他資源;在建立新物件時必須做一些特定工作。這兩種情況必須定義複製建構函式。
複製操作符過載,由operator後面跟所定義的操作符符號,通過定義名為operator=函式來對賦值進行定義。該操作符函式有兩個形參:第一個形參對應左邊的運算元(隱式繫結到this指標了),第二個形參對應右運算元。
返回型別應該與內建賦值運算返回的型別相同,內建型別的賦值運算返回對右運算元的引用,賦值操作符也返回對同一型別的引用。
class b
;可以使用合成複製建構函式的類通常也可以使用合成賦值操作符。一容般來說,如果類需要複製建構函式,也就需要賦值操作符。
7樓:巫馬尓絲
一個類的建構函式只有在定義該類的物件時候才會呼叫,而且每個物件只有一次呼叫構造函版數的機會,權myclass obj3 = obj1,這個是在定義物件時候的賦值,所以呼叫的是copy建構函式。
myclass obj3 = obj1 等價於myclass obj3(obj1),這個判斷應該是正確的。
myclass obj3;
obj3 = obj1;這樣就不是屬於建構函式了。
你的建構函式只發生在定義一個物件的時候,定義完了以後再賦值,就是=號過載了。
用c++編寫類string的建構函式 、拷貝建構函式,解構函式,賦值函式,**等,急急急
8樓:匿名使用者
你看看bai這du
個,裡zhi面dao
好像就回有答
能不能一下舟山旅遊線路,能不能推薦一下舟山旅遊線路
吃住來在沈家門 推薦去吃下沈家門夜自 排檔,bai很好吃,現在環du境也很不錯 普陀山zhi 可以逛一天,佛教聖dao地 朱家尖 去南沙 烏石塘兩景點 桃花島,感覺沒什麼意思,不推薦去 要是想看碧藍碧藍的海,可以去東極島,那裡的海很漂亮,不過要乘好久的船,會暈船。舟山群島 位於中國抄的東南沿海,長b...
能不能一下6000左右的本本啊,能不能推薦一下6000左右的本本啊 ?
華碩的好一點 華碩k40e64in sl 類別 膝上型電腦 品牌 asus 華碩 本參考 5400 螢幕尺寸 14英寸 處理器型 intel 酷睿2雙核 t6400顯示卡晶片 nvidia geforce g 102m標配記憶體 1gb硬碟容量 250gb 產品定位 全能學生本 華碩f8h84vr ...
你好,能不能幫忙鑑定一下這個手鐲的價值是什麼?在商場買的感覺
基本可以確定來 不是a貨。鐲子在翡自 翠飾品中屬於高檔貨,比掛件介面之類的要貴重很多,商家在拿到毛料之後首先考慮的就是取鐲子,因為鐲子價值更高,雕刻師傅在打磨拋光的過程中也會特別用心,一般不會出現這種低階失誤。而且,天然的飄花翡翠,綠色的部分跟沒有顏色的部分是很分明的,它是有色根的,只有b c貨才會...