Для вывода строки на консоль с помощью оператора `cout` необходима перегрузка оператора для типа `string`, так как `cout` не знает, как правильно вывести объект типа `string`.
Чтобы исправить ошибки при использовании оператора "<<" для свойств класса Person, необходимо перегрузить оператор `<<` для этого класса. Ниже приведен пример кода, который позволит вывести объект класса `Person` на консоль:
```cpp
#include <iostream>
#include <string>
class Person {
private:
std::string name;
int age;
public:
Person(const std::string& name, int age) : name(name), age(age) {}
friend std::ostream& operator<<(std::ostream& os, const Person& person) {
os << "Name: " << person.name << ", Age: " << person.age;
return os;
}
};
int main() {
Person person("John", 25);
std::cout << person << std::endl;
return 0;
}
```
В этом примере перегружен оператор `<<` внутри класса `Person`, который позволяет вывести свойства объекта `Person` на консоль. Для этого используется дружественная функция, чтобы иметь доступ к приватным свойствам класса `Person`.