對于具有默認構造函數的類來說,兩者實例化之后的數據本質是一樣的,只不過一個從堆中分配內存,一個從棧中分配內存。比如:在類中有一個成員x,如果在構造函數中有:x =10, 那么無論是Student *stu = new Student(),還是Student stu,其結果都是對象中的x被賦值了10,最后順便說一下,你的代碼寫錯了,第一,不能寫成Student stu = new Student(),而應寫成Student *stu = new Student(),第二,不能寫成Student stu = null,而應寫成Student *stu = null,如有疑問,請留言討論。
2015-07-23
對于具有默認構造函數的類來說,兩者實例化之后的數據本質是一樣的,只不過一個從堆中分配內存,一個從棧中分配內存。比如:在類中有一個成員x,如果在構造函數中有:x =10, 那么無論是Student *stu = new Student(),還是Student stu,其結果都是對象中的x被賦值了10,最后順便說一下,你的代碼寫錯了,第一,不能寫成Student stu = new Student(),而應寫成Student *stu = new Student(),第二,不能寫成Student stu = null,而應寫成Student *stu = null,如有疑問,請留言討論。
2015-07-23
Student stu = new Student()是對象的實例化,通俗的說是新建一個學生,擁有學生類中的所有屬性和方法;
而Student stu;是沒有什么意義的。要么Student stu = null;那就意味著初始化實例為null,相當于實例化了一個空對象