发布时间 : 星期二 文章面向对象程序设计(C++)自我测试练习参考答案更新完毕开始阅读6d699ec07cd184254a353549
A.构造函数名与类名相同 B. 构造函数可以重载
C.构造函数可以设置默认参数 D. 构造函数必须指定类型说明 7.下列选项中,为析构函数的特征的是( A )。
A.一个类中只能定义一个析构函数 B. 析构函数名与类名不同
C.析构函数的定义只能在类体内 D. 析构函数可以有一个或多个参数 8.下面关于成员函数特征的描述中,错误的是( A )。
A. 成员函数一定是内联函数 B. 成员函数可以重载 C.成员函数参数可以设置默认 D. 成员函数可以是静态的 9.以下有关友元函数的描述中,错误的是( B )。 `` A. 友元函数不是成员函数
B. 友元函数加强了类的封装性
C. 在友元函数中可以访问所属类的私有成员 D. 友元函数的作用是提高程序运行效率 10.已知一个类A,可以定义类A的对象或定义类A的指针,下列一定不正确的形式是( C)。 A.A a1; B. A a2(12); C. A a3(); D. A *p = new A;
二、填空题
1. 解释类和对象有什么区别是( )。
2.C++关键字private和public有什么区别是( )。 3.在成员函数中,可以通过( )指针访问一个对象的数据。
4. C++中,虽然友元提供了类之间进行数据访问的快捷方式,但它破坏了面向对象程序设计的( 类信息隐蔽性)特性。
5. 写出下例程序的运行结果。
#include
void main() { }
Sample c1(1),c2(3);
cout<<&c1<<\c1.Display(); //B c2.Display(); //C int x;
Sample(int a=0) { this->x = a; } void Display() {
cout<
public:
若A行输出是0x0012FF7C,0x0012FF78,则B行和C行的输出是( 1,0x0012FF7C;3,0x0012FF78 )。
三、编程题
1.设计一个表示学生信息类,其中包括:姓名、年龄和3门课程的成绩,并可设置学
生的相关信息,显示学生的信息。
#include \#include \void main(void) {
class MyScore {
private: char name[16]; int age;
int score1,score2,score3; public: void SetData(char *n,int a,int s1,int s2,int s3) { strcpy(name,n); age = a; score1=s1;score2=s2;score3=s3; } void Display() { cout< MyScore a; a.SetData(\ a.Display(); } 2.使用成员函数重载设计一个求面积的类,包括圆、三角形和梯形。并设计一个输入成员函数和输出成员函数。 class Area { public: double r,a,b,h,s; double MyArea(double); double MyArea(double,double ); double MyArea(double,double,double); void MyInput(); void MyPut(); }; //类中成员函数的实现: double Area::MyArea (double r) { double s; s = 3.14*r*r; return s; } double Area::MyArea (double a,double h) { double s; s = 0.5*a*h; return s; } double Area::MyArea (double a,double b,double h) { double s; s = (a+b)*h/2.0; return s; } void Area::MyInput() { cin>>r>>a>>b>>h; } void Area::MyPut() { cout< { if(score>=60)cout<<\ else cout<<\ } public: Grade(char *n,int s=0) { strcpy(name,n); score = s; } void PrintData() { cout<<\ isPass(); } }; void main() { Grade a(\ a.PrintData(); b.PrintData(); c.PrintData(); } 4.定义一个类Cat,拥有静态数据成员HowMangCats,记录Cat的个体数目;静态成员函数GetHowMang,存取HowMangCats。设计程序测试这个类,体会静态数据成员和静态成员函数的用法。 #include \class Cat { public: static int HowMangCats; Cat() { HowMangCats++; } static int GetHowMang() { return HowMangCats; } }; int Cat::HowMangCats =0; void main()