腾讯技术类校园招聘笔试试题及答案(2)
解析:
子类对象生成时:先调用父类的构造函数,然后在调用子类的构造函数;析构时相反
4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:A
A.只能在该cpp所在的编译模块中使用该变量
B.该变量的值是不可改变的
C.该变量不能在类的成员函数中引用
D.这种变量只能是基本类型(如int,char)不能是C++类型
解析:
Static全局变量和普通全局变量:
针对:一个工程里有多个cpp文件时
相同点:存储方式相同,都是静态存储;
不同点:作用域不同。
普通全局变量---作用域是整个源程序(含有多个源文件),在各个源文件中都有效
Static全局变量----作用域是当前源文件
5.观察下面一段代码:
class ClassA
{
public:
virtual ~ ClassA(){};
virtual void FunctionA(){};
};
class ClassB
{
public:
virtual void FunctionB(){};
};
class ClassC : public ClassA,public ClassB
{
public:
};
ClassC aObject;
ClassA* pA=&aObject;
ClassB* pB=&aObject;
ClassC* pC=&aObject;
关于pA,pB,pC的取值,下面的描述中正确的是:C
A. pA,pB,pC的取值相同 B. pC=pA+pB C. pA和pB不相同 D.pC不等于pA也不等于pB
6. 参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:D
A. pA2=static_cast
B. void* pVoid=static_cast
pA2=static_cast
C. pA2=pB;
D. pA2=static_cast