Tencent2014实习笔试题 南京
2014-04-14 13:50
267 查看
#include<iostream>
using namespace std;
class Base
{
public:
virtual int foo(int x)
//基类的纯虚函数,派生类中可以重新定义改函数
{
return x*10;
}
int foo(char x[10])
//虚函数foo的重载函数。函数名相同,函数参数不同。
{
return sizeof(x)+10;
//本题的关键。sizeof(x)中数组x[10]作为函数的参数时,
//x由数组已经退化成指针了.所以sizeof(x)=4.
//(指针表示地址,在32为系统中,地址占32个二进制位(4个字节))
//所以sizeof(x)==4.
}
};
class Derived :public Base
{
int foo(int x)
//是重写Base中的纯虚函数
{
return x*20;
}
virtual int foo(char x[10])
//派生类自定义的纯虚函数 在派生类的子类中才能排上用场。在本体中纯属干扰作用
{
return sizeof(x)+20;
}
};
int main()
{
Derived stDerived;
Base *pstBase=&stDerived;
char x[10];
cout<<sizeof(x)<<endl;
printf("%d\n",pstBase->foo(100)+pstBase->foo(x));
return 0;
}
答案是:2014.
可惜打错了。纯虚函数和sizeof操作符的使用!
using namespace std;
class Base
{
public:
virtual int foo(int x)
//基类的纯虚函数,派生类中可以重新定义改函数
{
return x*10;
}
int foo(char x[10])
//虚函数foo的重载函数。函数名相同,函数参数不同。
{
return sizeof(x)+10;
//本题的关键。sizeof(x)中数组x[10]作为函数的参数时,
//x由数组已经退化成指针了.所以sizeof(x)=4.
//(指针表示地址,在32为系统中,地址占32个二进制位(4个字节))
//所以sizeof(x)==4.
}
};
class Derived :public Base
{
int foo(int x)
//是重写Base中的纯虚函数
{
return x*20;
}
virtual int foo(char x[10])
//派生类自定义的纯虚函数 在派生类的子类中才能排上用场。在本体中纯属干扰作用
{
return sizeof(x)+20;
}
};
int main()
{
Derived stDerived;
Base *pstBase=&stDerived;
char x[10];
cout<<sizeof(x)<<endl;
printf("%d\n",pstBase->foo(100)+pstBase->foo(x));
return 0;
}
答案是:2014.
可惜打错了。纯虚函数和sizeof操作符的使用!
相关文章推荐
- 2014腾讯校园招聘实习技术类笔试题目
- 2014 阿里巴巴校园招聘笔试—南京
- 百度2014校园招聘南京笔试题
- 2014华为实习上级笔试题——三天打鱼两天晒网
- 2014腾讯实习笔试题——优先队列
- 2014腾讯校园招聘实习技术类笔试题目/STL小结
- 2014趋势科技校招9月23日南京笔试题目答案
- 2014华为实习上级笔试题-- 统计字符串中出现的单词
- 2014腾讯实习笔试面试
- 2014美图网校园招聘Android实习工程师笔试试卷详解
- 2014腾讯校园招聘实习技术类笔试题目(转自IT面试)
- [腾讯笔试] 2014腾讯校园招聘实习技术类笔试题目
- 大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
- 金山办公2014暑期实习招聘笔试之旅
- 大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
- 梅氏砝码(2014腾讯实习笔试附加题)
- 大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
- 2014企鹅实习招聘笔试回忆
- 三星南京研发中心2014暑期实习嵌入式开发面试笔试部分
- 腾讯2014实习北京笔试