1、一個類或者是有構造函數的對象。
①類名 對象名; ->默認調用 對象名() 這個構造函數,在棧中存在對象名,在堆中存在實際對象。
②類名 對象名(一個以上參數); ->默認調用對應的構造函數,在棧中存在對象名,在堆中存在實際對象。
③類名 對象名(); ->不調用任何構造函數,Myclass a(), int func() 對比 Myclass a() 相當於申明一個函數 這個函數的返回類型是Myclass。
2、使用new 關鍵字創建對象
① Myclass *p1 = new Myclass();
② Myclass *p2 = new Myclass;
- ① ② 都是調用默認構造函數
- 對與內置類型,加括號可以進行初始化
int *p3 = new int(1); // 1
int *p4 = new int(); // 0
int *p5 = new int; // 0