C 怎麼用new建立類物件,C 用new建立類物件問題

2021-05-23 09:29:44 字數 1820 閱讀 8129

1樓:

你是在類b的內部建立類a的物件麼?

那非常簡單,在類b的內部寫(private還是public塊都行,專根據具體情況

屬)a a;

或者a *a = new a();

當然前提是a的建構函式是無參的,如果有引數要寫上實參如果是說你的類b繼承了類a(即類b是類a的派生類),你想用new建立上轉型物件,就成了

a *a = new b();

2樓:匿名使用者

假設bai類名字為 t 使用語法 :t* object = new t(), 其中du

括號裡可以填寫類zhi初始化dao

的引數, 得到的 object 是一個版t型別的指標,別權忘了用delet object 釋放記憶體。

當c++程式用new 分配記憶體的時候,會比c的malloc 做一些額外的工作,尤其是使得類裡面使用的std標準庫型別的變數的到合適的初始化。此外,如果有自己編寫的記憶體管理器,new 還有一個變種: t* object = new (manager) t(), 如果需要, 請參考:

c++用new建立類物件問題

3樓:匿名使用者

myclass *a = new myclass 這句話的意思是建立一個myclass型別的指標a,並生成一個myclass物件,使指標a指向這個物件。 這個物件是匿名物件沒有名字。

4樓:匿名使用者

該物件沒有名字,但可以解指

針使用該物件,或者用引用 myclass & b = *a; 那麼b 和 *a 表示同一回個物件了。如果

答myclass b = *a;這樣,a 和 b是2 個物件 只是裡面的內容一樣。

5樓:匿名使用者

用關鍵字new生成的

物件是無名的,只是在動態記憶體中利用建構函式生成一個新物件,且回返回指向這個物件的指標,答對於myclass *a = new myclass;,可以利用a->來訪問該類的資料成員和成員函式,也可以用複製建構函式進行復制......,總之,除了名字和儲存位置之外,與普通的類例項沒有多大區別,不過要注意的是,在不需要該類物件時,要及時釋放,並應與解構函式相互協調。

6樓:

myclass * a=new myclass

呼叫myclass的預設構bai造du函式建立了一個myclass物件zhi,如果你未dao顯示定義任何回形式的建構函式,編譯器會答為你合成一個預設建構函式,並用myclass型別的指標指向該物件,和此物件相關聯

對此指標解引用可以獲得該物件

7樓:最愛那個小青春

ctest* ptest = new ctest();

delete ptest;

ptest用來接收類物件指標。

不用new,直接使用類定義申明:

ctest mtest;

此種建立方式,使用完後內不需要手動釋

放,該類解構函式會容自動執行。而new申請的物件,則只有呼叫到delete時再會執行解構函式,如果程式退出而沒有執行delete則會造成記憶體洩漏。

2、只定義類指標

這跟不用new申明物件有很大區別,類指標可以先行定義,但類指標只是個通用指標,在new之前併為該類物件分配任何記憶體空間

8樓:f22張傑

a取內容不就是物件本身了麼。或者myclass * a=new myclass myclass b=*a;b就是物件了。

怎麼建立廣義表??用C

懸壺濟公 想象一下,一個連結串列中的所有元素都是連結串列,這個就是答案了,然後連結串列中的連結串列中的連結串列。一路下去,就是廣義表啦。 完整的系統程式比較長 如果只是函式的話 http wenku.baidu.com view 7bff4a0a6c85ec3a87c2c5d3.html?st 1 ...

什麼時候用new建立物件,什麼時候用一般宣告的形式

用bainew建立出來的變數會佔用內 du存即 定義聲zhi明最重要的區別dao 用了new 物件分配了記憶體 專,宣告沒有分配內 屬存 至於堆。那是在資料結構中的一種資料型別,使用new只是實體化這個資料物件,讓計算機為其分配記憶體空間。c 裡面建立物件,什麼時候應該用new什麼時 void fu...

c語言sin怎麼用,C語言sin怎麼用

c語言sin 用來計算引數x 的正玄值,然後將結果返回。返回 1 至1 之間的計算結果。例子 include main double answer sin 0.5 printf sin 0.5 f n answer 執行sin 0.5 0.479426c語言sin sin 原型 double sin...