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 類...