Вы правильно объявили и определили общедоступных членов вашего класса, чтобы реализовать частных, вам не нужно слишком много менять.
В соответствии с определением вашего класса вам просто необходимо включить раздел "private:". Здесь вы объявляете свои закрытые переменные или функции, а методы получения и установки этих переменных в общедоступном заголовке.
так твой
class person
{
public:
person* mom;
person* dad;
string name;
person();
~person();
person(string n);
};
Становится
class person
{
public:
person();
~person();
person(string n);
void setName(string);
person* getMom();
person* getDad();
string getName();
private:
person* mom;
person* dad;
string name;
};
Обратите внимание, что при объявлении функции вам не нужно указывать имя каких-либо переменных параметров. Это совершенно необязательно; компилятору нужно только знать, какой тип переменной ожидать.
Затем, так же, как вы определили свои конструкторы и деструктор, вы определяете геттеры и сеттеры, которые вы только что объявили.
...
person::person(string n)
{
name = n;
}
void person::setName(string name)
{
this->name = name;
}
person* person::getMom()
{
return mom;
}
person* person::getDad()
{
return dad;
}
string person::getName()
{
return name;
}
int main()
...
Это форматирование по сути такое же, как если бы вы разделяли класс Person на его собственные файлы заголовков (.h) и cpp (.cpp).
Затем, чтобы получить доступ к вашим личным пользователям, вам нужно только вызвать получателей или установщиков, которых вы только что создали. Таким образом,
cout << "You are currently at: " << current.name << endl;
Становится
cout << "You are currently at: " << current.getName() << endl;
Надеюсь, это имеет смысл.
ps: если вы используете строковый класс C ++, вы можете #include <string>
pps: Хорошая практика - всегда использовать первую букву любого класса, который вы делаете. Просто так это выделяется. Person
вместо person
.