《c面向对象程序设计试题和答案(经典题目).docx》由会员分享,可在线阅读,更多相关《c面向对象程序设计试题和答案(经典题目).docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、c面向对象程序设计试题和答案(经典题目) 一、填空题(每空1分,共14分) 1、观看以下程序: class point public: void show() coutfun(); 16、执行下面的程序将输出() #include class BASE char c; public: BASE(char n):c(n) virtual BASE()coutshow() (2)公有、私有、保护(3)class (4)抽象类(5)成员函数、不是(6)friend (7)11、11 (8)动态申请内存空间、释放由new申请的空间 二、选择题(每小题1.5分,共30分) 1、D 2、B 3、C 4、D
2、 5、D 6、B 7、B 8、C 9、C 10、A 11、D 12、C 13、D 14、B 15、C 16、A 17、B 18、C 19、C 20、A 三、改错题(每错2分,共6分) MyClass obj1(0); obj1.SetMember(5); obj2.SetMember(10); 四、写出下列程序的执行结果(每小题5分,共20分) (1)30 (5分) (2)7 9 (每个2.5分) (3)20 20 (每个2.5分) (4) 3(2分) 3(2分) 3(1分) 五、编程题(每题10分、共30分) 1、 #include #include class rectangle /(2分
3、) private: int x1,y1,x2,y2; / (2分) public: rectangle(int xx1,int yy1,int xx2,int yy2) /(1分) x1=xx1;y1=yy1;x2=xx2;y2=yy2; int getarea() /(2分) return abs(x2-x1)*(y1-y2); ; void main() rectangle rect1(3,7,8,5); (2分) coutrect1.getarea()endl; (1分) 2、(10分) #include class car;(1分) class boat private: int w
4、eight; /(1分) public: boat(int w):weight(w) /(1分) friend int totalweight(boat b1,car c1); /(2分) ; class car /(1分) private: int weight; (1分) public: car(int w):weight(w); friend int totalweight(boat b1,car c1); (1分) ; int totalweight(boat b1,car c1) /(1分) return b1.weight+c1.weight; void main() car c1
5、(1000); boat b1(2000); couttotalweight(b1,c1)endl;(1分) 3、(10分) #include class vehicle / 定义汽车类(3分) protected: int wheels; / 车轮数 float weight; / 重量 public: vehicle(int wheels,float weight); int get_wheels(); float get_weight(); float wheel_load(); void show(); ; class car:public vehicle / 定义小车类(3分) in
6、t passenger_load; / 载人数 public: car(int wheels,float weight,int passengers=4); int get_passengers(); void show(); ; vehicle:vehicle(int wheels1,float weight1) /(1分) wheels=wheels1; weight=weight1; int vehicle:get_wheels() return wheels; float vehicle:get_weight() return weight; void vehicle:show() (
7、1分) cout 车轮: wheels 个 endl; cout 重量: weight 公斤 endl; car:car(int wheels, float weight, int passengers) :vehicle(wheels, weight) passenger_load=passengers; int car:get_passengers () return passenger_load; void car:show() cout 车型:小车 endl; vehicle:show(); cout 载人: passenger_load 人 endl; cout endl; void main () car car1(4,2000,5); (1分) cout 输出结果 endl; car1. show (); (1分)