1
、 以下( )没有涉及
C++
语⾔的⾯向对象特性⽀持。
A. C++
中构造⼀个
class
或
struct
B. C++
中调⽤
printf
函数
C. C++
中调⽤⽤户定义的类成员函数
D. C++
中构造来源于同⼀基类的多个派⽣类
解析:
C++
的面向对象特性主要包括类
(class)
与结构体
(struct)
的定义、继承
(inheritance)
、封装
(encapsulation)
以及多态
(polymorphism)
等。
A.
构造一个
class
或
struct
,这是面向对象编程的基本组成部分之一,它允许开发者定义自己的数据类型,这些类型可以包含数据成员和成员函数。因此,这显然涉及到
C++
的面向对象特性。
B.
调用
printf
函数,并不是面向对象特性的体现。
printf
是一个标准库函数,用于格式化输出到标准输出设备(如屏幕)。它并不属于任何类的一部分,也不涉及到类、继承或多态的概念。
C.
调用用户定义的类成员函数,这与面向对象编程密切相关,因为成员函数是类的一部分,用于操作类的数据成员或者实现类的行为。
D.
构造来源于同一基类的多个派生类,这是继承的一个典型例子,是面向对象编程中的一个重要特性,允许创建新的类来重用现有类的代码。
因此,选项
B. C++
中调用
printf
函数 没有涉及
C++
语言的面向对象特性支持。
2、关于以下
C++
代码,( )行代码会引起编译错误。
A. Line 1
B. Line 2
C. Line 3
D.
没有编译错误
解析
:
这段代码中定义了两个类,
Base
和从
Base
继承的
Derived
。在
Derived
类中有一个
show()
成员函数,试图输出基类中定义的
a, b,
和
c
的值。
根据
C++
的访问规则:
私有
(private)
成员只能由声明它的类的成员函数访问。
保护
(protected)
成员可以被该类及其派生类的成员函数访问。
公有
(public)
成员可以被任何地方访问。
具体来看:
a
是
Base
类中的私有成员,所以不能在派生类
Derived
中直接访问。
b
是
Base
类中的保护成员,所以在派生类
Derived
中是可以访问的。
c
是
Base
类中的公有成员,自然也是可以被派生类
Derived
访问的。
根据上述分析,
Line 1
会尝试访问
Base
类中的私有成员
a
,这会导致编译错误。因此,正确答案是
A. Line 1
。
3
、有
6
个元素 ,按照
6,5,4,3,2,1
的顺序进⼊栈
S
,下列( )的出栈序列是不能出现的( )。
A. 5,4,3,6,1,2
B. 4,5,3,1,2,6
C. 3,4,6,5,2,1
D. 2,3,4,1,5,6
解析:模拟
C
:
6
,
5
,
4
,
3
进,
3
出,
4
出,
5
没出
6
是不能出的。选
C
4、采用如下代码实现检查输入的字符串括号是
2024年 9月 GESP认证 C++编程 六级试卷解析