C++语言程序设计(下) 中国农业大学 单元测验7-3

1.已定义一个圆形类Circle:

class Circle
{
private:  double r;
public:
    void SetR(double x)  {  r = x;  }
    double GetArea( )  { return 3.14*r*r;  }
};

使用Circle类来求一个半径为5的圆面积,下列语句中错误的是(    )。

编号 选项
A Circle c, *p = &c;  p->SetR( 5 );  cout << p->GetArea();
B Circle.SetR( 5 );  cout << Circle.GetArea();
C Circle *p = new Circle( );  p->SetR( 5 );  cout << p->GetArea();  delete p;
D Circle c;  c.SetR( 5 );  cout << c.GetArea();

2.已定义一个圆形类Circle:

class Circle
{
private:  double r;
public:
    void SetR(double x)  {  r = x;  }
    double GetArea( )  { return 3.14*r*r;  }
};

编写一个显示某个圆面积的函数show,下列函数定义中错误的是(    )。

编号 选项
A void show( Circle c )  {  cout << “圆面积= ” << c.GetArea() << endl;  }
B void show( )  {  cout << “圆面积= ” << Circle.GetArea() << endl;  }
C void show( Circle *c )  {  cout << “圆面积= ” << c->GetArea() << endl;  }
D void show( Circle &c )  {  cout << “圆面积= ” << c.GetArea() << endl;  }

3.已定义一个圆形类Circle:

class Circle
{
private:  double r;
public:
    void SetR(double x)  {  r = x;  }
    double GetArea( )  { return 3.14*r*r;  }
};

用Circle类定义一个对象数组:Circle c[3]; 则下列语句中错误的是(    )。

编号 选项
A for (int i = 0; i < 3; i++)  {  c[i].SetR(i*2.5);  cout << c[i].GetArea() << endl;  }
B Circle p = &c[2];for (int i = 2; i >= 0; i–)  {  p->SetR(i2.5);  cout << p->GetArea() << endl;  p–;  }
C for (int i = 3; i >= 0; i++)  {  c[i].SetR(i*2.5);  cout << c[i].GetArea() << endl;  }
D Circle p = &c;for (int i = 0; i < 3; i++)  {  p->SetR(i2.5);  cout << p->GetArea() << endl;  p++;  }

4.使用类ABC做如下定义:ABC x, *p, y[3]; 执行该定义语句将自动调用几次类ABC的构造函数?(    )

编号 选项
A 0
B 3
C 4
D 5

5.函数间传递对象数据不能采用下列哪种方式?(    )

编号 选项
A 值传递
B 被调函数直接访问主调函数中的局部对象
C 引用传递
D 指针传递

6.通过值传递在函数间传递对象数据,形实结合时会自动调用下列哪个构造函数来初始化对象形参?(    )

编号 选项
A 拷贝构造函数
B 带形参的构造函数
C 析构函数
D 不带形参的构造函数

7.在类中声明一个常数据成员x,下列哪条语句是正确的?(    )

编号 选项
A int x const;
B int x;
C int const x;
D const int x;

8.在类中声明一个常函数成员fun,下列哪条语句是正确的?(    )

编号 选项
A const void fun( );
B void fun( ) const;
C void const fun( );
D void fun( );

9.下列关于静态成员的描述中,错误的是(    )。

编号 选项
A 静态数据成员要在类外定义和初始化
B 公有静态成员具有文件作用域
C 静态数据成员不属于某个对象,是类的共享成员
D 私有静态成员具有块作用域

10.已定义类A:

class A
{
public:
    int x;
    static int y;
};
int A::y = 0;

下列语句中错误的是(    )。

编号 选项
A A.x = 1;  A.y = 1;
B A a;  a.x = 1;  a.y = 1;
C A::y = 1;
D A a;  a.x = 1;  A::y = 1;
原创文章 63 获赞 23 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_33384402/article/details/105878035