#z69. 类和对象复习
类和对象复习
第1题 以下哪个是面向对象的高级语言( )。
{{ select(1) }}
- [A. 汇编语言]
- [B. C++]
- [C. Fortran]
- [D. Basic]
第2题 关于C++类和对象的说法,错误的是( )。
{{ select(2) }}
- [A. 在 中,一切皆对象,即便是字面量如整数5等也是对象]
- [B. 在 中,可以自定义新的类,并实例化为新的对象]
- [C. 在 中,内置函数和自定义函数,都是类或者对象]
- [D. 在 中,可以在自定义函数中嵌套定义新的函数]
第3题 有关下面 代码的说法,错误的是( )。
class Rectangle {
private:
class Point {
public:
double l0;
double ds;
};
double length;
double width;
public:
Point ds;
};
{{ select(3) }}
- [A. 中类内部可以嵌套定义类]
- [B. 在类中定义的类被称为内部类,定义类的类被称为外部类]
- [C. 内部类可以随便访问,不需要通过外部类来访问]
- [D. 代码中Point 被称为内部类,可以通过外部类Rectangle 来访问,Rectangle::Point]
第4题 有关下面C++代码的说法,正确的是( )。
1 using namespace std;
2 class newClass
3 {
4 public:
5 static int objcounter;
6
7 };
8 int newClass::objCounter = 2;
9 int main()
10 {
11 newClass classA;
12 newClass classB;
13 cout << newClass::objCounter << endl;
14 cout << classB.objCounter << endl;
15 }
{{ select(4) }}
- [A. 第13行代码错误,第14行正确]
- [B. 第14行代码错误,第13行代码正确]
- [C. 第13、14两行代码都正确]
- [D. 第5行代码可修改为objCounter += 1]
第5题 有关下面C++代码的说法,错误的是( )。
struct BiNode {
char data;
BiNode* lchid;
BiNode* rchid;
};
class BiTree {
private:
BiNode* Creat();
void Release(BiNode* bt);
BiNode* root;
public:
BiTree() { root = Creat(); }
~BiTree() { Release(root); }
};
{{ select(5) }}
- [A. 上列C++代码适用于构造各种二叉树]
- [B. 代码struct BiNode 用于构造二叉树的节点]
- [C. 代码BiTree(){root=Creat();} 用于构造二叉树]
- [D. 析构函数不可以省略]
第6题 基于第4题的定义,有关下面 代码的说法正确的是( )。
void Order(BiNode* bt) {
if (bt == nullptr) return;
cout << bt->data;
Order(bt->lchid);
Order(bt->rchid);
}
{{ select(6) }}
- [A. 代码中Order( ) 函数是中序遍历二叉树的方法]
- [B. 代码中Order( ) 先访问根节点,然后对左子树进行前序遍历,再对右子树前序遍历]
- [C. 代码中Order( ) 先访问中序遍历左子树,然后访问根节点,最后则是中序遍历右子树]
- [D. 代码中 Order( ) 先后序遍历左⼦树,然后后序遍历右⼦树,最后访问根节点]