C/C++面试题四(稍微高级)
来源:互联网 发布:李连杰少林寺票房 知乎 编辑:程序博客网 时间:2024/06/15 06:04
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;
}
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;
}
- C/C++面试题四(稍微高级)
- C/C++面试题四(稍微高级)
- [C#]c#面试笔试题(四)
- c#面试笔试题(四)
- 经典C/C++面试题(四)
- 经典C/C++面试题(四)
- C语言面试题---指针(四)
- C/C++面试题(四)
- C常见面试题<四>
- C/C++面试题(四)
- 四道稍微高级点的 C++ 试题
- [转载]linux C经典面试题 四
- linux C经典面试题 四
- linux C经典面试题 四
- c面试题(1)
- [C#]c#面试笔试题(一)
- [C#]c#面试笔试题(二)
- 一道面试题(c/c++)
- S3C2440之UART操作(FIFO中断模式)
- 第七章 进程管理 windows程序设计王艳平版
- Javascript的IE和Firefox兼容性
- 对通过网络传输的数据进行加密
- C/C++面试题五
- C/C++面试题四(稍微高级)
- 配置源码安装的MySQL同时支持多个字符集
- JavaScript onfocus和onblur事件应用举例
- LBP: Local Binary Patterns 局部二进模式Matlab实现
- java中instanceof用法
- 处理gmail邮件的Perl脚本(Ubuntu)
- ASP.NET常用的26个优化性能方法
- java中判断字符串是否为数字的三种方法
- Log4j使用介绍