C++ test with classes

C++ test with classes

本文关键字:classes with test C++      更新时间:2023-10-16

我试图解决一个问题在c++,但因为我是一个初学者,我不知道如何做到这一点!问题是,如果你能帮助我:):

使用下面的c++代码创建关于类"car" &"卡车"。每个函数必须将适当的参数传递给vehicle的父类。此外,在创建对象时,函数car应该初始化乘客。在创建对象时,truck类应该初始化loadlimit。

具有car()和truck()的对象的语句将如下所示:

car ob(乘客,车轮,范围);

货车ob(载重限制,车轮,范围);

#include <iostream>
using namespace std;  
    class vehicle{        
           int num_wheels;     
           int range;
           public:
              vehicle(int w, int r){num_wheels = w; range = r;}
              void showv(){
                  cout << "Wheels: " << num_wheels << endl;
                  cout << "Range: " << range << endl;
              }
    };
    class car : public vehicle {
           int passengers;
           public:
              void show(){ 
                    void showv();     
                    cout << "Passengers: " << passengers << endl;       
              }        
    };
    class truck : public vehicle {        
           int loadlimit;        
           public:        
              void show(){       
                   void showv();        
                   cout << "Loadlimit: " << loadlimit << endl;        
              }        
    };
    int main(){        
       car c(5, 4, 500);        
       truck t(3000, 12, 1200);        
       cout << "Car: " << endl;        
       c.show();        
       cout << "Truck: " << endl;        
       t.show();        
       return 0;        
    }

CarTruck没有接受所需参数并传递给基类构造函数的构造函数。它们应该是这样的:

 class car : public vehicle {
  int passengers;
 public:
  car(int w,int r,int p): vehicle(w,r), passengers(p){}
  void show(){
        void showv();
        cout << "Passengers: " << passengers << endl;
  }
};
class truck : public vehicle {
       int loadlimit;
       public:
          truck(int r, int w, int l):vehicle(r,w),loadlimit(l){}
          void show(){
               void showv();
               cout << "Loadlimit: " << loadlimit << endl;
          }
};

基本成员初始化

Car Constructor:

car(int a, int b, int c) : vehicle(a,b),passengers(c){};   //initialiser list

Truck Constructor:

 truck(int g, int h, int j):vehicle(g,h),loadlimit(j){}   

您需要为汽车卡车添加承包商

class car : public vehicle {
          int passengers;
          public:
            car(int p) : vehicle(int w, int r)    // Call the superclass constructor in the subclass' 
             {
                passengers = p;
             }
            void show()
             { 
               showv();     
               cout << "Passengers: " << passengers << endl;       
             }        
        };

卡车也是一样

简单解决方案,

car::car(int w,int r,int p)
{
    passengers = p;
    vehicle::vehicle(w,r);
}