一些混淆过的输出结果
下面代码执行后,正确的输出是( )
char *a ="Hello";
char b[6]="Hello";
if (a==b) {
if (*a == *b)
printf(“AA”);
else
printf(“BB”);
}
else {
if (*a == *b)
printf(“CC”);
else
printf(“DD”);
}
A) AA B) BB C) CC D) DD
设有如下 class 定义:
class CA
{
public:
CA(void) { std::cout << 'a'; }
~CA(void) { std::cout << 'b'; }
};
class CB : private CA
{
public:
CB(void) { std::cout << 'c'; }
~CB(void) { std::cout << 'd'; }
};
则,
{
CB obj;
}
以上代码的执行结果是( )
A) abcd B) acbd
C) cadb D) acdb
设有如下 class 定义:
class CA
{
public:
virtual void foo(int i)
{ cout << "void CA::foo(int i)" << endl; }
};
class CB : public CA
{
public:
virtual void foo(int i)
{ cout << "void CB::foo(int i)" << endl; }
virtual void foo(double d)
{ cout << "void CB::foo(double d)" << endl; }
};
则,
CB b;
CA & a = b;
a.foo(5.0);
b.foo(5.0);
以上代码的执行结果是( )
A) void CA::foo(int i)
void CB::foo(double d)
B) void CA::foo(int i)
void CB::foo(double d)
C) void CB::foo(int i)
void CB::foo(double d)
D) void CB::foo(double d)
void CB::foo(double d)
设有如下 class 定义:
class CA
{
public:
CA(void) { ++CA::ms_iCounter; }
~CA(void) { --CA::ms_iCounter; }
static int ms_iCounter;
}
int CA::ms_iCounter = 0;
则,
CA a[2];
CA b = a[1];
cout << CA::ms_iCounter;
以上代码的执行结果是( )
A) -1 B) 0 C) 2 D) 3
如下代码:
class CInner
{
public:
CInner();
~CInner();
};
class CBase
{
Public:
CBase();
~CBase();
};
class CChild : public CBase
{
public:
CChild ();
~ CChild ();
private:
CInner m_inner;
};
他们的构造函数的调用顺序是( )
A) CInner::CInner()
CBase::CBase()
CChild:: CChild()
B) CChild::CChild()
CBase::CBase()
CInner::CInner()
C) CBase::CBase()
CChild::CChild()
CInner::CInner()
D) CBase::CBase()
CInner::CInner()
CChild::CChild()
下面函数中,参数 a 的实际类型是( )
void foo(int a[5][6])
{
...
}
A) 数组的数组;
B) 指针的指针;
C) 指针的数组;
D) 数组的指针;
下面的程序的输出结果为:s
#include<iostream>
#include<list>
using namespace std;
class CBaseClass
{
public:
CBaseClass()
{
Init();
}
~CBaseClass(void){};
virtual int Init(void)
{
m_iInitVar = 1;
return 0;
}
int GetResult(void)
{
return m_iInitVar;
}
int m_iInitVar;
};
class CDerivedClass : public CBaseClass
{
public:
CDerivedClass(void) {};
~CDerivedClass(void) {};
virtual int Init(void)
{
m_iInitVar = 2;
return 0;
}
};
int main()
{
CBaseClass * pCBaseA = new CBaseClass();
CBaseClass * pCBaseB = new CDerivedClass();
CDerivedClass * pCDerivedClass = new CDerivedClass ();
int i = pCBaseA->GetResult();
int j = pCBaseB->GetResult();
int k = pCDerivedClass ->GetResult();
cout<<i<<","<<j<<","<<k<<endl;
delete pCBaseA;
delete pCBaseB;
delete pCDerivedClass;
return 0;
}
A) 1,1,1
B) 1,2,1
C) 1,2,2
D) 2,2,2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现