【发布时间】:2023-02-03 13:38:17
【问题描述】:
我需要创建一个可以包含我的父类和子类数据的向量。
这就是我所做的..
车辆是父类
Car是child类
关于 Car.cpp ,它有以下内容
struct Point
{
int x,y
};
class Car : public Vehicle
{
private:
Point wheelPoint[4];
double area;
public:
void setPoint();
};
void Car::setPoint()
{
int xData,yData;
cout << "Please enter X:";
cin >> xData;
cout << "Please enter Y:";
cin >> yData;
wheelPoint[i].x = xData;
wheelPoint[i].y = yData;
}
然后在我的 main.cpp
在我的 main.cpp
vector<VehicleTwoD> list;
VehicleTwoD *vehicle;
Car *car = new Car;
string vehicleName;
cout << "Please input name of vehicle";
cin >> vehicleName;
vehicle = new Car;
car->setPoint();
list.push_back( Vehicle() );
list.back().setName(vehicleName);
这里的问题.. 我如何将我的汽车 wheelPoint 也放入这个向量中。
我想要实现的是一个可以包含的向量
Vehicle Name: Vehicle Name (private variable at Vehicle - Parent Class)
Wheel Point[0]: Point (X,Y) ( private var at Car - Child Class)
Wheel Point[1]: Point (X,Y) ( private var at Car - Child Class)
Wheel Point[2]: Point (X,Y) ( private var at Car - Child Class)
Wheel Point[3]: Point (X,Y) ( private var at Car - Child Class)
【问题讨论】:
-
什么是
Vechicle2D?创建可以包含父类和子类的向量的方法是有一个向量指针给你的父类,并使用虚函数,换句话说,vector<Vehicle*>。