騰訊技術(shù)類校園招聘筆試試題及答案(2)
解析:
子類對(duì)象生成時(shí):先調(diào)用父類的構(gòu)造函數(shù),然后在調(diào)用子類的構(gòu)造函數(shù);析構(gòu)時(shí)相反
4.在一個(gè)cpp文件里面,定義了一個(gè)static類型的全局變量,下面一個(gè)正確的描述是:A
A.只能在該cpp所在的編譯模塊中使用該變量
B.該變量的值是不可改變的
C.該變量不能在類的成員函數(shù)中引用
D.這種變量只能是基本類型(如int,char)不能是C++類型
解析:
Static全局變量和普通全局變量:
針對(duì):一個(gè)工程里有多個(gè)cpp文件時(shí)
相同點(diǎn):存儲(chǔ)方式相同,都是靜態(tài)存儲(chǔ);
不同點(diǎn):作用域不同。
普通全局變量---作用域是整個(gè)源程序(含有多個(gè)源文件),在各個(gè)源文件中都有效
Static全局變量----作用域是當(dāng)前源文件
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;
關(guān)于pA,pB,pC的取值,下面的描述中正確的是:C
A. pA,pB,pC的取值相同 B. pC=pA+pB C. pA和pB不相同 D.pC不等于pA也不等于pB
6. 參照1.5的代碼,假設(shè)定義了ClassA* pA2,下面正確的代碼是:D
A. pA2=static_cast
B. void* pVoid=static_cast
pA2=static_cast
C. pA2=pB;
D. pA2=static_cast