C++類的實例化的兩種方法


C++

類的實例化有兩種方法:

直接定義對象:

先定義一個類:

 

 

class A 

public: 

A(); 

virtual ~A(); 

... 

... 

}; 

 

 

類實現略。

 

 

用的時候:

 

A a; 

a.

成員函數;

 

a.

成員變量;

 

 

就是一個對象。

定義一個類指針的方法: A *p = new A; p->成員函數; p->成員變量; 
最后別忘了銷毀對象:delete[] a;  
A由系統創建並釋放,你不要擔心會出現內存泄露,但是生命期只有在本區域的大括號內,出了大括號就沒用了。p是指針,要自己釋放,用不好很危險,用好了功能強大,因為他可以賦值給全局的變量,一下子從局部變量變成全局變量,還能把對象作為函數返回值。  
A a; 
A * a = new a(); 
以上兩種方式皆可實現類的實例化,有new的區別在於:

1.前者在堆棧中分配內存,后者為動態內存分配,在一般應用中是沒有什么區別的,但動態內存分配會使對象的可控性增強。 2.不加new在堆棧中分配內存 3.大程序用new,小程序直接申請 4.只是把對象分配在堆棧內存中 
5.new必須delete刪除,不用new系統會自動回收內存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM