{ passenger_load=number; payload=max_load; }
double truck::efficiency() { return payload/(payload+weight); }
void main() { vehicle bicycle; bicycle.initialize(2,25); cout<<\ cout<<\ cout<<\ car audi; audi.initialize(4,3500.0,5); cout<<\ cout<<\ cout<<\ truck jief; jief.initialize(18,12500.0); jief.init_truck(2,33675.0);
cout<<\ cout<<\ cout<<\}
[»ù±¾ÒªÇó]
? ÉÏ»ú¼Èë¡¢µ÷ÊÔÉÏÃæ³ÌÐò¡£
? ÔËÐгÌÐò£¬¹Û²ìÔËÐнá¹ûÊÇ·ñÕýÈ·ÇÒÂú×ãÌâÒâÒªÇó¡£
? ½«class car: public vehicleºÍclass truck: public vehicle·Ö±ð¸ÄΪ£º class car: private vehicleºÍclass truck: private vehicle ³ÌÐòÔËÐнá¹ûÓÐÎޱ仯£¬ÎªÊ²Ã´£¿ [·ÖÎöÓë˼¿¼]
? ¶¨Ò岢ʵÏÖvehicleÀà¡¢carÀàºÍtruckÀàµÄ¹¹Ô캯Êý£¬Íê³ÉvehicleÀà¡¢carÀàºÍtruckÀàµÄÊý¾Ý³ÉÔ±³õʼ»¯¹¤×÷¡£
? ½«vehicleÖÐÊý¾Ý³ÉÔ±wheelsºÍweight¸ÄΪprivateÐÔÖÊ£¬ÈçºÎÐ޸ijÌÐòÒÔ´ïµ½ÏàͬµÄÊä³ö½á¹û¡£
£¨2£©ÏÂÃæ³ÌÐò¶ÔӦͼ1ËùʾµÄÀà²ã´Î¼Ì³Ð½á¹¹: #include
class person {
protected:
char name[20];
in-service_graduate int birth_year;
public:
person(char *na, int year) { strcpy(name,na); birth_year=year; }
int cal_age(int this_year) {
return this_year-birth_year; } };
class graduate :public person {
protected: int grade;
char specialty[20]; public:
graduate(char *na, int y, int g, char *spec):person(na,y) { grade=g; strcpy(specialty,spec); }
void display(int this_year) { cout<<\ graduate age grade specialty\\n\ cout< class teacher :public person { protected: char title[15]; char specialty[20]; public: teacher(char *na, int y, char *ti, char *spec):person(na,y) { strcpy(title,ti); teacher graduate strcpy(specialty,spec); } void display(int this_year) { cout<<\ teacher age title specialty\\n\ cout< }; class in_service_graduate:public teacher, public graduate { public: in_service_graduate(char *na, int y, char *ti, char *spec1, int g, char *spec2): teacher(na, y, ti, spec1), graduate(na, y, g, spec2) { } void display(int this_year) { cout<<\ age title work_specialty grade study_specialty\\n\cout< } }; void main() { graduate gr(\ teacher te(\ in_service_graduate sg(\ gr.display(2002); cout< sg.display(2002); } [»ù±¾ÒªÇó] ? ÔĶÁ³ÌÐò£¬Íê³Éin_service_graduateÀàÖеÄdisplay()º¯ÊýµÄ³ÌÐò¡£ ? ÉÏ»ú¼Èë¡¢µ÷ÊÔÉÏÃæ³ÌÐò¡£ ? ÔËÐгÌÐò£¬¹Û²ìÔËÐнá¹ûÊÇ·ñÕýÈ·ÇÒÂú×ãÌâÒâÒªÇó¡£ [·ÖÎöÓë˼¿¼] ? ÔÚÉÏÃæ³ÌÐòÖÐÀàpersonÖеÄÊý¾Ý³ÉÔ±nameºÍbirth_yearÔÚin_service_graduateÀàÖÐÓÐÁ½¸ö¸±±¾£¬ÇëʹÓÃÐé»ùÀàʹËüÃÇÔÚin_service_graduateÀàÖÐÖ»ÓÐÒ»¸ö¸±±¾¡£×¢ÒâͬʱÐ޸ijÌÐòµÄÆäËûÏà¹Ø²¿·Ö¡£ 4.Ô´´úÂë 1. #include protected: int wheels; double weight; public: vehicle(int x,double y){wheels=x;weight=y;} int get_wheels() { return wheels; } double get_weight() { return weight; } double wheel_loading() { return weight/wheels; } }; class car: public vehicle { private: int passenger_load; public:car(int x,double y,int z=4):vehicle(x,y) {passenger_load=z;} // void initialize(int whls, double wght, int people=4 ); int passengers() { return passenger_load; } }; class truck: public vehicle { private: int passenger_load; double payload; public: truck(int x,double y,int z=2,double w=24000.0):vehicle(x,y) {passenger_load=z;payload=w;} // void init_truck(int number =2, double max_load =24000.0); double efficiency(); int passengers() { return passenger_load; } }; double truck::efficiency() { return payload/(payload+weight); }