C 測試建構函式 我不明白,尋求幫助

發布 娛樂 2024-07-21
6個回答
  1. 匿名使用者2024-01-31

    首先,您需要了解建構函式的用途。

    建構函式主要用於初始化物件、分配記憶體等。

    其次,你需要了解預設的功能機制就足夠了嗎?

    預設建構函式,當你不寫建構函式時,會自動新增它,也就是說,你不需要寫它,編譯器會自己新增它,當你初始化物件時,會隱式呼叫預設建構函式。 當你編寫其他預設函式時,預設函式將不再隱式呼叫,而是呼叫你編寫的建構函式,但通常編寫你自己的建構函式,並顯示預設建構函式。 這是建構函式的過載!

    第三,複製建構函式是做什麼的?

    通常使用物件為物件賦值,還有一些其他用途。

    乙個簡單的,你知道建構函式的語法嗎?? 我不知道這個,所以我會自己讀這本書。

    預設建構函式:

    complex(){

    引數的建構函式:

    complex(double real,double image)rea;

    Copy 建構函式:

    complex(const complex& obj ){rea=;

    image=;

    將以上三個函式新增到課程中,就可以開始了!! 測試是自己寫在main函式裡的,沒關係

  2. 匿名使用者2024-01-30

    複雜類宣告中沒有顯式建構函式,需要補充提到的三個建構函式:

    1.不帶引數的建構函式。

    complex()

    real = 0;

    image = 0;

    2.具有引數的建構函式。

    complex(double r, double i)real = r;

    image = i;

    3.Copy 建構函式:

    complex(const complex & ob) constreal = ;

    image = ;

    向 main 函式新增乙個語句,用於測試三個建構函式:

    1. complex c;

    2. complex c(1, 3);

    3. complex d = c;

  3. 匿名使用者2024-01-29

    僅當未定義建構函式時,才會自動生成預設建構函式。

    複製建構函式也是乙個建構函式。

    如果未顯示任何定義,則複製建構函式會自動生成預設複製建構函式。

    如果項 b 定義了帶有引數的建構函式,則它不會生成預設建構函式,因此這是錯誤的。

  4. 匿名使用者2024-01-28

    錯誤的事情是:b

    C++ 標準是這樣描述的:

    只有當類沒有定義建構函式時,編譯器才會自動生成預設建構函式”。

    所以你可以看到 A 是對的,B 是錯的。

    此外,C++標準對此進行了如下描述:

    只有當乙個類沒有定義複製建構函式時,編譯器才會自動生成預設的複製建構函式。

    所以 c、d 是對的。

  5. 匿名使用者2024-01-27

    這是建構函式和析構函式的基本定義問題。

    如果未定義建構函式和析構函式,則編譯器預設生成它們。

    b.如果不定義不帶引數的建構函式,則編譯器將始終生成預設建構函式。

    不管有沒有引數,只要有建構函式,編譯器就不會生成預設的建構函式。

  6. 匿名使用者2024-01-26

    這個問題其實可以通過排除來完成,對於選項中具有絕對意義的句子來說,這是最可疑的。

相關回答
5個回答2024-07-21

方法過載也可以應用於 c 中的建構函式。 C 具有預設建構函式,您還可以使用引數定義建構函式。 建構函式必須與類同名,並且不能具有返回值。 因此,C 建構函式過載等價於不同數量的引數方法過載。 >>>More

17個回答2024-07-21

建構函式的引數不能全部具有預設引數。

無論類如何,都有乙個沒有引數的預設建構函式,無論您是否顯示它。 >>>More

20個回答2024-07-21

這部電影與《肖申克的救贖》有一些相似之處,後者也是乙個追求自由的“罪犯”的故事,但具有強烈的實驗性和隱喻性,遠遠超出了現實的象徵意義。 >>>More

11個回答2024-07-21

這不是乙個靜態類,只是乙個靜態建構函式,如下所示。 >>>More

11個回答2024-07-21

房東**的樣子真的傷了我,全域性太多了,函式定義和宣告引數沒有型別化、判斷素數是否真的返回雙精度、printf使用錯誤。我就不多說了,給大家修改一下,編譯執行都成功了**如下: >>>More