日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

4道稍微高級(jí)點(diǎn)的c 面試題,供初學(xué)者一窺門徑

 ShangShujie 2007-04-10
1.寫出下面程序的輸出
class abc;
void del(abc *pobj){
 delete pobj;
}
class abc{
public:
 abc(){
  printf("abc\r\n");
 }
 ~abc(){
  printf("~abc\r\n");
 }
};

int main()
{
 abc *pobj = new abc;
 del(pobj);
}
 
2.寫出下面程序的輸出
void* operator new(size_t size)
{
 printf("malloc %u\r\n", size);
 return malloc(size);
}
void operator delete(void *memblock){
 printf("free\r\n");
 return free(memblock);
}
class abc{
public:
 abc(){
  printf("abc\r\n");
  throw int();
 }
 ~abc(){
  printf("~abc\r\n");
 }
};
int main(){
 try{
  new abc;
 }catch(int& i){
  printf("%d\r\n", i);
 }
 return 0;
}
 
3.寫出下面程序的輸出
template <typename T>
class abc{
public:
 abc(){
  printf("primary\r\n");
 }
};
template<>
abc<int>::abc(){
 printf("member spec\r\n");
};
template<typename T, typename P>
class abc<T (*)(P)>{
public:
 abc(){
  printf("partial spec\r\n");
 }
};
int main()
{
 abc<void* (*)(int)> f_abc;
 abc<int> i_abc;
}

4.下面的代碼能否通過編譯?為什么
class a{
public:
 virtual ~a(){
 }
private:
 void operator delete(void *p);
};
int main()
{
 a _1;
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多