編集*私はばかです...私を助けてくれてありがとう、この質問は解決されました。*私の車のクラスでは、以下のコードは << 演算子でエラーを出し続けます
cout << "Driver: " << driver->print();
cout << "Owner: " << owner->print();
エラーには、「これらのオペランドに一致する演算子はありません」と表示されます。これは私の宿題なので、ドライバーから何らかの方法で印刷機能を呼び出す必要があります。メイン関数では、実際にはまだドライバーまたは所有者を設定していませんが、それは問題ではないと思います。前もって感謝します。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Person
{
public:
Person(string _name,int _age)
{
_name = name;
_age = age;
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
string getName()
{
return name;
}
int getAge()
{
return age;
}
int incrementAge()
{
age +=1;
return age;
}
void print()
{
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
private:
string name;
int age;
};
class Car
{
public:
Car (string m)
{
model = m;
}
void setDriver(Person *d)
{
*driver = *d;
}
void setOwner(Person *o)
{
*owner = *o;
}
void print()
{
cout << "Model: " << model << endl;
cout << "Driver: " << driver->print();
cout << "Owner: " << owner->print();
}
private:
string model;
Person *owner;
Person *driver;
};
int main()
{
vector<Person*>people;
vector<Car*>cars;
string name = "";
int age = 0;
string model = 0;
int sentValue = 0;
while (sentValue != -1)
{
cout << "Enter name: ";
cin >> name;
cout << "Enter age: ";
cin >> age;
people.push_back(new Person(name, age));
cout << "Enter car model: ";
cin >> model;
cars.push_back(new Car(model));
cout << "Press -1 to stop, or 1 to enter info for others: ";
cin >> sentValue;
}
//display car model,
//owner’s name and age,
//and driver’s name and age.
system("pause");
return 0;
}