C類的問題

時間 2022-04-17 17:40:06

1樓:

a *pa1,*pa2 定義了兩個a類的指標pa1,pa2可以呼叫類a的所有方法,換句話說,他們就是類a的例項化。

pa1=new a(3.0, 5.0); 初始化pa1,這時候會呼叫類a的建構函式a(float a, float b)

也就是說,在pa1這個指向類a的例項中,成員變數x=3,y=5相當於初始化賦值。

pa2=new a 初始化pa2,這時候會呼叫類a的建構函式a()

也就是說,在pa1這個指向類a的例項中,成員變數x=0,y=0相當於初始化賦值。

pa1->print();

pa2->print();這兩句話輸出什麼,相信樓主明白了吧~

如有疑問歡迎提問。。

2樓:匿名使用者

a *pa1,*pa2

宣告乙個指向a類的指標。

要想使用乙個類中的函式,必須有乙個類的例項(類本身只是乙個圖紙,只有例項化後才會在將它的成員寫入記憶體)。

指標的作用是為這個類的例項提供乙個引用。

new真正的例項化這個類,也就是將類的成員放入記憶體。

new方法一定返回乙個類的指標。

打個比方,你要蓋房子。定義類只是畫了乙個房子的圖紙,只有在new的時候才算真正把房子蓋起來了

3樓:雲風

a *pa1,*pa2;

定義兩個指向結構a的指標

new classname(parameters);

new classname;等價於new classname();

new classname(parameters); 為類申請空間,自動呼叫匹配的建構函式,並返回類指標

4樓:匿名使用者

a *pa1,*pa2是定義兩個a型別的指標變數就是 pa1 和 pa2

new是c++語言運算子之一,起作用是相當於c語言中的malloc函式,指在堆記憶體上分配使用者指定大小的記憶體

注意使用new申請的記憶體必須通過delete函式釋放,就像c語言中的free函式一樣,否則就會造成記憶體洩露問題。

希望對你有用!

5樓:匿名使用者

a *pa1,*pa2

是指申明pa1,pa2兩個指標,他們所指向的物件型別都為class a

new是在堆上分配記憶體的意思,new a就是申請分配一段記憶體空間來放a的物件,pa1 = new a;是說返回申請的記憶體空間的首位址,並把pa1指向這個位址。

關於C 類的問題。。急,關於C 類别範本的問題。。急

過載錯誤,不能區別2個過載函式 templateconst t array operator size t index const 加上const就能區別了 給你個例子 include using namespace std class a void fun int b void fun int b...

C 類的組織問題

我先說一下我對你的意思的理解,b和c繼承於a,class a class b public a class c public a 是這樣嗎?乙個類的繼承,比如a作為父類,b c要繼承於它,那為什麼用a作為父類呢,是因為a能提煉出bc的共同之處,b c繼承a,那麼它們就要有a所有屬性,這樣才有繼承的意...

C 關於類(vector)的問題

你的 沒什麼大問題,只是有兩個地方需要修改一下,如下 見註釋 include include include using namespace std 只需要使用此句就可以了 using std cin using std cout using std endl using std string us...