——第1页——系名____________班级____________姓名____________学号____________密封线内不答题一、填空题(每空1分,共14分)1、观看以下程序:classpoint{public:voidshow(){cout”point”endl;}};voidmain(){pointp1;point*p;p=&p1;_p1.show()_//通过对象p1访问show函数__p-show()_//通过指针p访问show函数}2、在C++类中可以包含_public_、__protected__和__private_三种具有不同访问控制权的成员。3、定义类时,在类头中将使用关键字_class__来表示类定义的开始。4、如果一个类中至少有一个纯虚函数,则该类称为___抽象类___。5、C++类的组成包括数据成员和___成员函数__,友元__不是___(是、不是)该类的成员函数。6、友员函数是用关键字__friend__修饰的非成员函数。7、若有:inti;int&j=i;i=10;j=i+1;则i=___11__,j=__11__。8、new的功能是___申请内存空间__,delete的功能是_释放内存空间___。编程题(每题10分、共30分)8、测试一个名为rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,能计算矩形的面积。(10分)9、定义一boat与car两个类,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。(10分)10、设计一个汽车类vehicle,包含的数据成员有车轮个数wheels和车重weight。小车类car是它的派生类,其中包含载人数passenger_load。每个类都有相关数据的输出方法。在主程序中定义一个car类对象,对其车轮个数、车重、载人数进行设置并显示。(10分)1、——第2页——#includeiostream.h#includemath.hclassrectangle//(2分){private:intx1,y1,x2,y2;//(2分)public:rectangle(intxx1,intyy1,intxx2,intyy2)//(1分){x1=xx1;y1=yy1;x2=xx2;y2=yy2;}intgetarea()//(2分){returnabs((x2-x1)*(y1-y2));}};voidmain(){rectanglerect1(3,7,8,5);(2分)coutrect1.getarea()endl;(1分)}2、(10分)#includeiostream.hclasscar;(1分)classboat{private:intweight;//(1分)public:boat(intw):weight(w){}//(1分)friendinttotalweight(boatb1,carc1);//(2分)};classcar{/(1分)private:intweight;(1分)public:car(intw):weight(w){};friendinttotalweight(boatb1,carc1);(1分)};inttotalweight(boatb1,carc1)//(1分)——第3页——系名____________班级____________姓名____________学号____________密封线内不答题{returnb1.weight+c1.weight;}voidmain(){carc1(1000);boatb1(2000);couttotalweight(b1,c1)endl;(1分)}3、(10分)#includeiostream.hclassvehicle//定义汽车类(3分){protected:intwheels;//车轮数floatweight;//重量public:vehicle(intwheels,floatweight);intget_wheels();floatget_weight();floatwheel_load();voidshow();};classcar:publicvehicle//定义小车类(3分){intpassenger_load;//载人数public:car(intwheels,floatweight,intpassengers=4);intget_passengers();voidshow();};vehicle::vehicle(intwheels1,floatweight1)//(1分){wheels=wheels1;weight=weight1;}intvehicle::get_wheels(){returnwheels;——第4页——}floatvehicle::get_weight(){returnweight;}voidvehicle::show()(1分){cout车轮:wheels个endl;cout重量:weight公斤endl;}car::car(intwheels,floatweight,intpassengers):vehicle(wheels,weight){passenger_load=passengers;}intcar::get_passengers(){returnpassenger_load;}voidcar::show(){cout车型:小车endl;vehicle::show();cout载人:passenger_load人endl;coutendl;}voidmain(){carcar1(4,2000,5);(1分)cout输出结果endl;car1.show();(1分)}