2014-09-03 5 views
-7
class person 
{ 
private: 
string name; 
int birth_year; 
char sex; 
public: 
person() 
{ 
    string name; cout<<"Name: "; cin>>name; set_name(name); 
    int birth_year; cout<<"Birth year: "; cin>>birth_year; set_birth_year(birth_year); 
    char sex; cout<<"Sex: "; cin>>sex; set_sex(sex); 
} 
~person() { } 

какой set_name(name) сделать здесь?Какова цель установки здесь?

+1

Это не 'std :: set' (или любая другая структура данных' set'), ссылка на которую здесь, это часть имени функций, чтобы установить имя (я думаю) и пол человека. Если вы посмотрите дальше в классе, я могу поспорить, вы найдете там эти функции. Сделайте поиск шаблона сеттера и геттера. –

+0

В нем описывается метод изменения переменной. Например, если вы хотите надеть 2 дополнительных колеса на свой велосипед, вы должны следовать методу для достижения этого, вы не просто волшебным образом заявляете, что у вас теперь есть четырехколесный велосипед. Новое значение является результатом некоторых действий. – Ben

+0

~~~~~~~ спасибо – tidusanddante

ответ

0

Я считаю, что set_nume является функцией члена класса, который устанавливает элемент nume данных класса (объект класса) к значению локальных переменной nume (который вводится пользователем) передается в качестве аргумента функции. Возможно, эта функция-член выполняет некоторые проверки validaty nume. Например, функция может преобразовать первую букву nume в верхний регистр и все остальные буквы в нижний регистр и т. Д. Вы должны просмотреть функцию, чтобы увидеть, что она делает (она может просто установить член данных nume в аргумент nume как this-> nume = nume). Обычно такие функции-члены называются сеттерами. Они имеют общий контроль доступа и позволяют устанавливать частные члены данных класса.

+0

спасибо! ~~~~ – tidusanddante

Смежные вопросы