2014-10-15 2 views
1

Как объявить конструктор по классу танков, для того, чтобы создать новый объект, как это:Конструктор в наследство

tanks t34(durability, velocity, damage); 

Вот мой класс:

#include <iostream> 
using namespace std; 

class vehicles{ 
private: 
    double durability; 
    double velocity; 
public: 
    void drive() { cout << "drive\n"; } 
    void info() { cout << durability << " " << velocity << "\n"; } 
    vehicles(double d, double v) : durability(d), velocity(v) {} 
    ~vehicles() {} 
}; 

class tanks:public vehicles{ 
private: 
    double damage; 
public: 
    using vehicles::vehicles; 
    tanks(double dmg) : damage(dmg) {} 
    void shot(); 
}; 

Так я хотел бы, чтобы скопировать переменную от:

vehicles(double d, double v) : durability(d), velocity(v) {} 

и добавьте его в класс Цистерны.

ответ

2

Просто добавьте еще один конструктор в tanks:

tanks(double dmg, double v, double d):vechicles(d,v), dmanage(dmg) {} 
            //^^call base class constructor to init base part 

Тогда вы должны быть в состоянии создать объект из tanks следующим образом:

tanks t34(durability, velocity, damage); 
Смежные вопросы