Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

¤@­Ó§Ú¦Û­Ó«Øªºclass ¤@¨ÇÆ[©À½Ð±Ð~~

0 views
Skip to first unread message

Eige...@vlsi1.iie.ncku.edu.tw

unread,
Mar 22, 2001, 11:08:12 PM3/22/01
to
class stacka
{
int *p;
int a;
public:
stacka(int size =1)
{
p=new int [size];
a=size;
}

~stacka()
{
delete [] p;
}

void puts(int j=0,int k=3)
{
if(j<a)p[j]=k;
else std::cout<<"out of stack size.\n";
}

void shows(int j=0)
{
if(j<a)std::cout<<"stack["<<j<<"]="<<p[j]<<"\n";
else std::cout<<"out of stack size.\n";
}
void setstack(int size)
{
// ~stacka();
delete [] p;
p=new int [size];
a=size;
}
};


這是一個我寫來做測試的class,一些觀念上的問題來請教,

constructor 讓程式能夠宣告的時候初始化資料,但是如果我宣告的時候不想宣告呢?

我要計算完資料後才要給呀,這時候是不是就得再寫一個init的function了

能不能直接這樣寫

class stacka sta;
sta.stacka=10;(試過compiler不過)

還是得向上面這樣寫sta.setstack(10);

ok~~就算真得得這樣寫~~

那一開始就建構的資料,我要將他解釋放掉,我不能直接用destructor嗎?

~stacka();compiler不過,

我還是得直接用delete 釋放掉constructor的資料


有什麼比較好的建議嗎?

--
[31;1m施 恩 不 求 他 報 [m

[32;1m結 怨 不 與 他 較 [m

[33;1m這 箇 中 間 寬 了 多 少 懷 抱 [m
-吾 本 平 凡--明 心 見 性-
--
[m [1m [33mo [31mR [35mi [36mg [37mi [34mN [31m: [m [1m [36m成 [37m大 [32m資 [33m工 [36mB [31mB [37mS [35m站 [m [1m [37m(140.116.247.7) [m
[31m [1m@ [m [37mbbs.csie.ncku.edu.tw [35m [1mFrOm [37m: [m 203.73.128.109

0 new messages