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

2021-03-10 19:53:11 字數 1821 閱讀 5964

1樓:匿名使用者

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

2樓:匿名使用者

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

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

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

3樓:匿名使用者

用關鍵字new生成的

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

4樓:

myclass * a=new myclass

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

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

5樓:最愛那個小青春

ctest* ptest = new ctest();

delete ptest;

ptest用來接收類物件指標。

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

ctest mtest;

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

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

2、只定義類指標

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

6樓:f22張傑

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

c++怎麼用new建立類物件?

7樓:

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

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

屬)a a;

或者a *a = new a();

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

a *a = new b();

8樓:匿名使用者

假設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函式怎麼用,C 中new的用法

1.new的作用是從自由儲存為 類 的物件或物件陣列分配記憶體,並將已適當分類的非零指標返回到物件。比如 char pchar new char 10 delete pchar 例子中動態分配了10個char型別的記憶體給了pchar,來構成一個陣列。需要注意的是,分配陣列採用 如果只是單個的只要n...

c物件資料成員儲存問題,C 類與物件 將n個數存入一個類物件的資料成員中

class 類 類 物件 new 類 c 類與物件 將n個數存入一個類物件的資料成員中 include using namespace std const int maxsize 100 class array int length 返回陣列中元素實際個數void insert int i,doub...

c類物件怎樣分類例項化,c 類别範本物件怎樣分類例項化

勉強寫了一下,看到問題第一個想到的是這樣做 樓主能說得再具體點嗎?怎麼選擇?條件是什麼?c 中類别範本怎樣例項化物件是類型別 給個簡單的例子說明一下 template class mydata void main c 中物件例項化時有如下兩種方法 1 類名 物件名 引數 2 類名 物件名 new 類...