C++考前复习题集锦(第一部分)
一.C++中重点概念回顾
? struct和class定义类有什么区别?
? 在C++中,形参与实参的结合方式有哪三种?
? C++类的成员变量分为哪三类?
? 常量定义和作用是什么?动态分配和回收空间的操作是什么?
? 面向对象程序设计的三大主要性质是什么?
? 函数声明的规则是什么?类的声明规则是什么?函数参数的默认值的约定是什么?
? 引用和指针的作用和机制?
? 构造函数和析构函数的定义和作用是什么?一个类中的析构函数可以有几个,构造
函数可以有几个? 构造函数和析构函数的调用顺序是什么?
? 静态数据和静态函数的定义、初始化和作用是什么?
? 在C++中,重载函数必须在什么上有所不同?
? C++中的模板分为哪两种?
? 设置友元的目的是什么?友元有哪两种?友元函数是否是类的成员函数?友元关系
有什么特点?
? 定义内联函数的目的是什么?定义虚基类的目的是什么?定义虚函数的目的是什
第 1页共 15页
么?
? 运算符重载需要有哪些注意的问题?不能重载的运算符有哪些?
? 继承的种类有哪些?继承机制中,基类中的各种访问属性经过不同的派生类型,在
子类中有什么变化?
? 抽象类的机制?
二.运行结果题:
1.写出下面程序执行的结果: # include
public: clock(){ h=0;m=0;s=0;}
clock(int i,int j,int k){h=i; m=j;s=k;}
~clock() {cout< void main() { clock c1; clock c2(10,10,10); } 2.写出下面程序的运行结果: #include 第 2页共 15页 int main() { cout< 3.写出下面程序的运行结果: #include friend int add(S &s1,S &s2); }; int add(S &s1,S &s2) { return s1.n+s2.n; } void main() { S s1(10),s2(20); cout< 4.写出下面程序的运行结果: #include A (int x) { 第 3页共15页 a=x; cout<< ″class A constructing ″< ~A (){cout<< ″class A destructing ″< { public: B(){cout<< ″class B constructing″< cout<< ″class B() constructing ″< ~B(){ cout<< ″class B destructing ″< C(int x,int y):a1(y) { c=x; cout<< ″class C constructing ″< 第 4页共 15页 C(int x,int a,int b ); ~C(){ cout<< ″class C destructing ″< private: int c; A a1; B b1; }; C::C (int x,int a,int b ):b1(a),a1(b) {c=x; cout<< ″class C constructing″< void main() { C c1(2,3); C c2(10,20,30); } 5.写出下面程序的运行结果: #include 第 5页共15页