腾讯的笔试题(1)

1.考虑函数原型void hello(int a,int b=7,char* pszC="*"),下面的函数调用中,属于

不合法调用的是:

A hello(5)     B.hello(5,8)     C.hello(6,"#")     D.hello(0,0,"#")

答案是C,经过验证,其实就是考函数的重载。

2.求输出结果

#include<iostream.h>

class CBase{

public:

CBase(){cout<<”constructing CBase class”<<endl;}

~CBase(){cout<<”destructing CBase class”<<endl;}

};

class CSub : public CBase{

public:

CSub(){cout<<”constructing CSub class”<<endl;}

~CSub(){cout<<”destructing CSub class”<<endl;}

};

void main()

{  CSub obj;  }


答:

constructing CBase class        

constructing CSub class         

destructing CSub class          

destructing CBase class

父类先构造(这个不难理解吧),先构造的后析构,其实就是一个进栈出栈的过程。

参照上面的代码,假设定义了ClassA* pA2,下面正确的代码是:

A.pA2=static_cast<ClassA*>(pB);//类型转换无效

B.void* pVoid=static_cast<void*>(pB);

 pA2=static_cast<ClassA*>(pVoid);

C.pA2=pB;//无法隐式转换

D.pA2=static_cast<ClassA*>(static_cast<ClassC*>(pB));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值