Bootstrap

面向对象几个自测题

选择题 

1. 进行文件操作时,需要包含(1)_文件。

A) iostream   B) fstream   C) stdio.h   D) stdlib.h

2. 若有定义:enum Weekday {  sun=7,mon=1,tue,wed,thu,fri,sat  }day;,以下正确的语句是(2)  。

A) mon++;     B)int k=mon+1;     C) day=7;      D)day++;

3. 若有定义:int (*p)(int,int); ,则错误的叙述是(3)

A) p是一个指向返回值类型为int,带有两个int型参数的函数的指针

B) 该类型的变量p可以作为另外一个函数的参数

C) 若已定义了函数int Sum(int x,int y),则p可以指向函数Sum。

D) p可以作自增运算p++

4. 若已有定义:struct Student{ char *name,int age,float mark;}s[8]; Student* p=s;,以下语句(组),正确的是(4)

A) cin>>s[0].name>>s[0].age>>s[0].mark;   

B) cin>>p->age>>p->mark;p->name="Liuhua";     

C) s[1].name=new char[10];strcpy(p->name, "Liuhua");     

D) p.name=new char[10]; strcpy(p->name, "Liuhua");

5.若有定义:int a,b;,下面引用变量的声明中,(5)是正确的。

A) int& ra=a; int& &rra=ra;          B) int& y=10;    

C) int& z=int;                       D) int &x=a; int &y=b;

6. 对于下面定义的类Myclass,在函数f中可以将对象obj的成员data值修改为50的语句是(6)

class Myclass{

  public:

     Myclass(int x){ data=x; }

     void SetNum(int value){ data=value; }

private:

     int data;

};

void f(void){

  Myclass obj(45),*ptr=&obj;

      (6)    

}

A) obj.data=50;   B)obj.Myclass(50);    C)ptr->SetNum(50);   D)ptr->data=50;

7.下面叙述正确的是(7)

A) 基类的protected成员不能被派生类的成员函数访问

B) 基类的public成员能被派生类的对象直接访问

C) 基类的protected成员在派生类中可能是privated的

D) 基类的private成员不能被基类的成员函数访问

8. 构造函数不具备的特征的是 (8) 。        

A) 构造函数的函数名与类名相同    B)构造函数可以重载 

C) 构造函数必须有返回值类型      D)构造函数可以设置默认参数

9. 下面叙述错误的是(9)

A) 基类指针可以指向派生类对象              B) 基类指针可以指向基类对象

C) 派生类指针可以指向派生类对象            D) 派生类指针可以指向基类对象

(1)B   (2)B   (3)D   (4)D    (5)D   (6)C   (7)C   (8)C    (9)D

;