当前位置: 首页 > 文档资料 > C++ 中文教程 >

C++ 在线测试

优质
小牛编辑
128浏览
2023-12-01

以下测验提供了与C++ Framework相关的多项选择题(MCQ)。 您必须阅读所有给定的答案并单击正确的答案。 如果您不确定答案,则可以使用“ Show Answer按钮Show Answer 。 您可以使用“ Next Quiz按钮在Next Quiz中检查新的问题集。

问题和解答

问题1 - 构造函数可以是虚拟的。

A - True

B - False

Answer : B

解释 (Explaination)

构造函数的目的不能在派生类中重写,因此构造函数不能是虚拟的。

问2 - 哪个运算符只需要作为成员函数重载?

A - _

B - _ _

C - ++ (postfix version)

D - =

Answer : D

解释 (Explaination)

重载赋值运算符执行类似于复制构造函数的工作,并且需要作为类的成员函数重载。

问题3 - 使用运行时多态性。

A - 函数重载

B - Virtual classes

C - 虚函数

D - Friend function

Answer : C

解释 (Explaination)

虚函数提供了将基类的功能覆盖到派生类中的能力。 因此实现动态/运行时多态性。

问题4 - 以下程序的输出是什么?

#include<iostream>
using namespace std;
class Base {
public:
   void f() {
      cout<<"Base\n";
   }
};
class Derived:public Base {
public:
   void f() {
      cout<<"Derived\n";
   }
};
main() {
   Base *p = new Derived(); 
   p->f();
}

A - Base

B - Derived

C - 编译错误

D - 以上都不是。

Answer : A

解释 (Explaination)

因此,根据指针类型调用相应的方法,不覆盖方法f()。

#include<iostream>
using namespace std;
class Base {
public:
   void f() {
      cout<<"Base\n";
   }
};
class Derived:public Base {
public:
   void f() {
      cout<<"Derived\n";
   }
};
main() {
   Base *p = new Derived(); 
   p->f();
}

问题5 - OOPS的哪个特性给出了可重用性的概念?

A - Abstraction

B - Encapsulation

C - Inheritance

D - 以上都不是。

Answer : C

解释 (Explaination)

从现有(基类)设计新类(派生)以获取现有属性的过程称为继承。 继承提供了代码/软件组件的可重用性概念。

问题6 - STL的完整形式是什么?

A - 标准模板库。

B - 系统模板库。

C - 标准主题库。

D - 以上都不是。

Answer : A

解释 (Explaination)

问题7 - 以下程序的输出是什么?

#include<iostream>
using namespace std;
void f() {
   cout<<"Hello"<<endl;
}
main() {
}

A - 没有输出

B - 错误,因为未调用该函数。

C - 错误,因为函数是在没有声明的情况下定义的

D - 错误,因为main()函数为空

Answer : A

解释 (Explaination)

没有输出,除了选项(a)对选项的其余评论无效

#include<iostream>
using namespace std;
void f() {
	cout<<"Hello"<<endl;
}
main() 
{
}

问8 - 以下程序的输出是什么?

#include<iostream>
#include<string.h>
using namespace std;
main() {
   cout<<strcmp("strcmp()","strcmp()");
}

A - 0

B - 1

C - -1

D - 无效使用strcmp()函数

Answer : A

解释 (Explaination)

0,如果两个字符串相等,则strcmp返回0

#include<iostream>
#include<string.h>
using namespace std;
main() {
   cout<<strcmp("strcmp()","strcmp()");
}

问题9 - UNIX上用于C ++程序的默认可执行代码是___

A - a.exe

B - a

C - a.out

D - out.a

Answer : C

解释 (Explaination)

“a.out”是在UNIX和Linux操作系统上生成的可执行文件的默认名称。

问题10 - 以下程序的输出是什么?

#include<iostream>
using namespace std;
void main() {
   char s[] = "C++";
	cout<<s<<" ";
	s++;
	cout<<s<<" ";
}

A - C ++ C ++

B - C ++ ++

C - ++ ++

D - 编译错误

Answer : D

解释 (Explaination)

's'指的是一个常量地址,不能递增。

#include<iostream>
using namespace std;
void main() {
   char s[] = "C++";
	cout<<s<<" ";
	s++;
	cout<<s<<" ";
}