内容发布更新时间 : 2025/11/4 17:15:47星期一 下面是文章的全部内容请认真阅读。
二、填空题(前14个空,每空1分,后3个空,每空2分,共20分)
1、类和对象的关系可表述为:类是对象的 抽象 ,而对象则是类的 实例 。
2、静态成员函数没有隐含的 this指针 ,所以,在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。
3、在图1中,A,B,C,D,E,F均是类,其中属于单继承的派生类有 E ,属于多继承的派生类有 D 、F ,类F的基类有 A、B、C、D、E ,类A的派生类有 D、F 。
A D F
图1 类的继承层次图
拷贝构造函数声明: Point(Point&) Point(const
B C E Point&) 析构函数声明:~类名 如~Person() 常对象语法格式为:const class_Type object_name 或class_Type const object_name 常引用: const data_type & reference_name 常函数: return_type function_name(formal parameters list) const 静态数据成员:static datatype variablename 静态函数:static return_type Function_name(formal parameters list) 友元函数: friend return_type function_name(formal parameters list)
4、如果只想保留公共基类的一个复制,就必须使用关键字 virtual 把这个公共基类声明为虚基类。
5、从实现的角度来讲,多态性可以划分为两类: 静态多态性 和动态多态性性 。
6、如果一个类包含一个或多个纯虚函数,则该类称为 抽象性 。 7、若要把void fun()定义为类A的友元函数,则应在类A的定义中加入语句 friend void fun(A &a) 。
8、列出C++中的两种代码复用方式: 继承 和 组合或模板 。 9、析构函数的作用 在对象被系统释放之前做一些内存清理工作 。 10、假定A是一个类名,则该类的拷贝构造函数的原型说明语句为: A(const A&) 。
11、后置自增运算符“++”重载为类的成员函数(设类名为A)的形式为:A operator++(int) 。
三、阅读下面4个程序,写出程序运行时输出的结果。(共13分) 1、
#include
void exchange(int &a, int &b, int &c) { if( a
     if( b {    int a=12,b=89,c=56;           exchange(a, b, c);       cout<<\     return 0;               }  2、  #include      A( ) { cout << \}; class B {  public:  B( ) { cout <<\ };  class C: public A { public:      C( ) { cout << \Private:     B b; };  int main ( ) {   a=89,b=56,c=12     C obj;          ABC return 0;  } 3、  #include  A(){cout<<\virtual ~A(){cout<<\};   class B: public A {public:  B(int i)  {  cout<<\ buf=new char[i];  }  virtual ~B() {  delete []buf;     cout<<\}                                                                                                                                       private:  char *buf; };  A::A() called. B::B() called. B::~B() called. A::~A() called.