×

Loading...

c++ test

本文发表在 rolia.net 枫下论坛1、while(!x)中的(!x)与下面条件( )等价。
   A、x==1
   B、x!=1
   C、x!=0
   D、x==0
2、每个类( )构造函数。
   A、只能有一个
   B、只可有公有的
   C、可以有多个
   D、只可有缺省的
3、在一个类中可以对一个操作符进行( )重载。
   A、1种
   B、2种以下
   C、3种以下
   D、多种
4、重载赋值操作符时,应声明为( )函数。
   A、 友元
   B、 虚
   C、 成员
   D、 多态
5、通过( )调用虚函数时,采用动态束定。
   A、 对象指针
   B、 对象名
   C、 成员名限定
   D、 派生类名
6、在类中声明转换函数时不能指定( )( )
   A、 参数
   B、 访问权限
   C、 返回类型
   D、 操作
   E、 标识符
7、字符串之间的比较按( )( )进行。
   A、 字符串的长度
   B、 字符的大小写种类
   C、 字符串的内部代码
   D、 字符串的含意
   E、 从头至尾的顺序
8、C++类体系中,不能被派生类继承的有( )( )。
   A、 转换函数
   B、 构造函数
   C、 虚函数
   D、 静态成员函数
   E、 赋值操作函数
    
9、拷贝初始化构造函数使用_______________来初始化创建中的对象。
10、一元操作符,作为友元函数重载时只能声明_______________形参;作为类成员函数重载时_______________形参。
11、在一个继承结构中,当两个相同的名字之间没有_______________时,对此名字的访问将出现二义性。
     

12、 编程题(共30分)
   1、 下面函数chnum将一个整数字符串转换为一个整数。请在[1]、[2]、[3]、[4]处填入正确内容。
   int chnum (char *str)
   { int i, j, k, h, len, num=0;
   len=strlen(str);
   for(i=0); [1]; i++)
   { k=1;
   j=len=len-1;
   while ([2])
   {k=k*10;
   j--;
   }h=[3]-’0’;
   num=num=h*[4];
   }
   return num;
   }
   [1]
   [2]
   [3]
   [4]
  
13、 下列程序定义了一实部为real,虚部为imag的复数类complex,并在类中将复数的加、减操作重载为友元函数。
   请在[1]~[12]处填上适当内容。(9分)
   class complex{
   private: float [1], [2];
   public: complex (float r=[3], float i=[4])
   {real=r; imag=i;}
   [5] operator+(complex,complex);
   [6] operator-(complex,complex);
   };
   [7] operator+(complex c1,complex c2)
   {return complex([8], [9]);}
   [10]operator-(complex c1,complex c2)
   {return complex([11], [12]);}
   [1] [2]
   [3] [4]
   [5] [6]
   [7] [8]
   [9] [10]
   [11] [12]
  
14、 下列shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle)、并给出具体的求面积函数。(9分)
   class shape{
   public:
   virtual float area( )=0
   };
   float total(shape *s[ ],int n)
   {float sum=0.0;
   for(int i=0;i area( );
   return sum;
   }更多精彩文章及讨论,请光临枫下论坛 rolia.net
Report

Replies, comments and Discussions: