能不能幫忙寫一下c類的建構函式拷貝建構函式

2021-03-03 21:48:54 字數 2636 閱讀 5864

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貨才會...