c++练习题---汽车类的继承

    技术2022-07-13  77

    6-3 汽车类的继承 (15分)

    根据给定的汽车类vehicle(包含的数据成员有车轮个数wheels和车重weight)声明,完成其中成员函数的定义,之后再定义其派生类并完成测试。 小车类car是它的派生类,其中包含载人数passenger_load。每个类都有相关数据的输出方法。

    Vehicle类声明如下:

    #include<iostream> using namespace std; class Vehicle { protected: int wheels; float weight; public: Vehicle(int wheels,float weight); int get_wheels(); float get_weight(); float wheel_load(); void show(); }; /* 请在这里填写答案 */

    裁判测试程序样例:

    int main () { Vehicle v(4,1000); v.show(); Car car1(4,2000,5); car1.show (); return 0; }

    输出样例:

    在这里给出相应的输出。例如:

    Type:Vehicle Wheel:4 Weight:1000kg Type:Car Type:Vehicle Wheel:4 Weight:2000kg Load:5 persons

    代码实现:

    Vehicle::Vehicle(int wheels,float weight):wheels(wheels),weight(weight) { //记得成员函数在外面声明的格式 返回类型+类名::+函数名(这样也要记得哪怕没有参数) } int Vehicle::get_wheels()//函数输出的好帮手 { return wheels; } float Vehicle::get_weight() { return weight; } void Vehicle::show() { cout<<"Type:Vehicle"<<endl; cout<<"Wheel:"<<get_wheels()<<endl; cout<<"Weight:"<<get_weight()<<"kg"<<endl; } class Car:public Vehicle{ private: int passenger_load; public: Car(int a,float b,int c):Vehicle(a,b),passenger_load(c) { } void show() { cout<<"Type:Car"<<endl; cout<<"Type:Vehicle"<<endl; cout<<"Wheel:"<<get_wheels()<<endl;//由于成员变量不是私有的,所以在继承的时候 //可以直接访问基类的成员函数,而不用调用”类名::函数“的形式 cout<<"Weight:"<<get_weight()<<"kg"<<endl; cout<<"Load:"<<passenger_load<<" persons"<<endl; } };

     以上均为个人小观点和小看法,若有错误的地方,欢迎指正。

     

    Processed: 0.011, SQL: 9