Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2350799
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:03:11

一  选择题
  1. 对类的构造函数和析构函数描述正确的是__[1]___ 。
    A)构造函数可以重载,析构函数不能重载
    B)构造函数不能重载,析构函数可以重载
    C)构造函数可以重载,析构函数也可以重载
    D)构造函数不能重载,析构函数也不能重载
  2.  类的析构函数的作用是___[2]___。
    A)一般成员函数    B)类的初始化  C)对象的初始化    D)删除对象
  3. 假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为___[3]___ 。
    A)MyClass&(MyClass  x);    B)MyClass(MyClass  x)
    C)MyClass(MyClass& x);     D)MyClass(MyClass  *x)
  4. 假定MyClass为一个类,则执行MyClass a,b(2),*p;  语句时,自动调用该类构造函数_[4]_次。
    A)2       B)3      C)4      D)5
5  下面对于友元函数描述正确的是__[5]___。
    A)友元函数的实现必须在类的内部定义
    B)友元函数是类的成员函数
    C)友元函数破坏了类的封装性和隐藏性
    D)友元函数不能访问类的私有成员
6  在C++中,数据封装要解决的问题是___[6]___。
    A)数据的规范化    B)便于数据转换
    C)避免数据丢失    D)防止不同模块之间数据的非法访问
7  一个类的友元函数或友元类能够通过成员操作符访问该类的____[7]____。
    A)私有成员    B)保护成员    C)公用成员    D)所有成员
9  为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问
    权限定义为___[9]____。
    A)public    B)protected    C)private    D)static
10  下面对静态数据成员的描述中,正确的是___[10]___。
    A)静态数据成员可以在类体内进行初始化
    B)静态数据成员不可以被类的对象调用
    C)静态数据成员不能受private控制符的作用
    D)静态数据成员可以直接用类名调用
11  下面对静态数据成员的描述中,正确的是__[11]___。
    A)静态数据成员是类的所有对象共享的数据
    B)类的每个对象都有自己的静态数据成员
    C)类的不同对象有不同的静态数据成员值
    D)静态数据成员不能通过类的对象调用
12  对于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句应该
是___[12]___。
class MyClass
{
public:
      MyClass(int x) { n = x;}
      void SetNum(int nl){ n =nl; }
private:
      int n;
}
int f( )
{
      MyClass  *ptr = new MyClass(45);
        _____________
}

A) MyClass(50)   B) SetNum(50)   C) ptr->SetNum(50)   D) ptr->n = 50

13 下面是类MyClass的定义,对定义中语句描述正确的是___[13]___。
class MyClass
{
public:
      void MyClass(int a) { X = a; }             //①
      int f(int a, int b)                       //②
    {
          X=a;
            Y=b;
    }
      int f(int a, int b, int c = O)               //③
    {
          X=a;
          Y=b;
          Z=c;
    }
      static void g() { X=10; }               //④
private:
      int X, Y, Z;
};

A)语句①是类MyClass的构造函数定义
B)语句②和语句③实现类成员函数的重载
C)语句④实现对类成员变量X的更新操作
D)语句①和④都不正确, ②和③有二义。
二、 填空题
15  在C语言中,编程的单位是__①___;在C++语言中,编程的单位是__②____。
16  类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的
   __①___,共同行为被描述为类中的__②____。
17  类的具体表现是通过定义_______来操作的。
18  对类中的成员函数和属性的访问是通过__①___、__②____和__③___这3
    个关键字来控制的。
19  一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为__①___权
    限,而把成员函数(方法)定义为__②____权限。    
20)  在类定义中,数据和成员函数默认权限是_________。
21  类中构造函数有__①___个,析构函数有__②____个。
22  类中的构造函数是一个特殊的成员函数,它由类的对象__①___调用,它的作用
    是__②____。
23  在定义类的对象时,C++程序将自动调用该对象的______函数初始化对象自身。
24  在撤销类的对象时,C++程序将自动调用该对象的______函数。
25 __①___运算符对指定类型对象动态分配内存并返回____②____。
26 ________运算符删除(25)题中的运算符所动态分配的内存空间。
27  假定用户没有给一个名为MyClass的类定义构造函数,则系统为其定义的默认构造
    函数形式为______。
28  假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构
    函数形式为______。
29  在类中定义和实现的函数称为________。
30  非成员函数应声明为类的________才能访问这个类的private成员。
31  若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入
    语句________。
32  若要把函数void FriendFunction()定义为类MyClass的友元函数,则应在类MyClass    
    的定义中加入语句_______。
33 下面的类中定义了一个关于星期的枚举类型,请完成下面的程序。
    class MyClass
{
public:
enum Week {Sun,Mon,Tue,Wed,Thur,Fri,Sat };
    Week week;
  }
void fun(MyClass &my)
{
        ___①____= __②____; //将对象my的week赋值为所定义的枚举类型
//值为3的枚举量
}
34  在下面程序的横线处填上适当的语句,使该程序执行结果为10。
#include
class MyClass
{
public:
        ___①____         //为x置值
            ___②____         //取x值
private:
      int x;
};
void main()
{
      MyClass my(10);
cout << my.GetNum() << endl;
}

35  完成下面的类定义。
class MyClass
{
public:
      MyClass( ) { x = 0; }
          ___①___ int GetNum(__②____ my);
private:
      int x;
};
int GetNum(__②____  my)
{
      return my.x;
}


--------------------next---------------------

阅读(1425) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~