@wolfssss
float f = (float)(v - 1);
v減不減一的區(qū)別在于
float f = (float)(v - 1);
求的是大于等于N且為2的次方的最小的數(shù)
float f = (float)(v);
求的是大于N且為2的次方的最小的數(shù)
re: 迅雷筆試題(C++) 楚天清秋 2010-09-26 20:04
汗一把,直接
for(int i = 0;i < N; ++i)
a[i] = i+1;
結(jié)束了
第i件物品的費(fèi)用是c[i]....
應(yīng)該形容為 第i件物品的體積是c[i].... 吧
似乎對綠色版本的Lingoes無效!
建議增加搜索路徑
@Sunshine Alike
情況1的時(shí)候同樣,為啥結(jié)果不同。。。。
re: JKRQ:日語漢字詞匯讀音查詢工具 楚天清秋 2010-05-17 13:30
不錯(cuò),
@北海鯤鵬
謝謝,代碼寫了也調(diào)試過,就是不明白
A* p = new B;
delete p;
為什么 先執(zhí)行A的析構(gòu)函數(shù),然后B的析構(gòu)就不執(zhí)行了。
------------
如果改成
B* p = new B;
delete p;
結(jié)果很顯然,會(huì)打印
"~B"
"~A"
class A
{
public:
A(){cout<<"~A"<<endl;}
};
class B:public A
{
public:
B(){cout<<"~B"<<endl;}
};
main()
{
A* p = new B;
delete p;
return 0;
}
---------------------------------
如果上例改成構(gòu)造函數(shù)的話,應(yīng)該是打印
"~A"
"~B"
A* p = new B;
delete p;
~~~~~~~~
delete p;
A的指針,但實(shí)例是B的,
到底是先執(zhí)行A的析構(gòu)函數(shù),還是B的析構(gòu)函數(shù)。
如果是先執(zhí)行A的析構(gòu)函數(shù),A的析構(gòu)函數(shù)由于不是Virtual的,所以不會(huì)執(zhí)行B的析構(gòu)函數(shù),這就說得通!
@小時(shí)候可靚了
照理說析構(gòu)時(shí)時(shí)先 執(zhí)行自己的析構(gòu)函數(shù),然后執(zhí)行父類的析構(gòu)函數(shù),如果有多繼承,按照父類的聲明順序來執(zhí)行析構(gòu)函數(shù)。
A* p = new B;
delete p;
所以應(yīng)該是
A和B的析構(gòu)都執(zhí)行吧?
1、請問上面輸出什么,為什么!
為啥只打出 ~A 呢。。。