Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2014, 20:28   #1
Dina 85
Пользователь
 
Регистрация: 09.10.2012
Сообщений: 49
Восклицание Класс, закрытые переменные

Нужна помощь, модифицировать программу таким образом, чтобы класс содержал закрытые переменные, как это сделать?
Задание было такое Написать программу, обеспечивающую простейшие манипуляции с классом, определяющим карточку отдела кадров (обеспечить вывод на экран в удобном виде, печать сообщения при достижении пенсионного возраста).
Код:
#include <iostream>
#include <string>

using namespace std;
string k="Внимание!Пенсионный возраст";
string t="Возраст не пенсионный";
class card
{
public:
string gender;
string name;

long employee_id;
int age;
float salary;

string employee()
{
if (gender != "female")
return age>60 ? k : t;
else
return age>50 ? k : t;
}
void output()
{
cout << endl << "Пол работника: " << gender << endl;
cout << "Имя работника: " << name << endl;
cout << "Личный ID: " << employee_id << endl;
cout << "Возраст работника: " << age << endl;
cout << "Зарплата работника: " << salary << endl;
}
};
int main(void)
{
setlocale(LC_ALL, "Russian");
card e;
cout << " Пол работника:" << endl;
cin >> e.gender;
cout << " Имя работника:" << endl;
cin >> e.name;
cout << " Личный ID:" << endl;
cin >> e.employee_id;
cout << " Возраст работника:" << endl;
cin >> e.age;
cout << " Зарплата работника:" << endl;
cin >> e.salary;
e.output();
cout << endl << e.employee() << endl;
system("pause");
return 0;
}
Dina 85 вне форума Ответить с цитированием
Старый 17.04.2014, 20:31   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
чтобы класс содержал закрытые переменные, как это сделать?
Использовать ключевое слово private.
Streletz вне форума Ответить с цитированием
Старый 17.04.2014, 20:38   #3
Dina 85
Пользователь
 
Регистрация: 09.10.2012
Сообщений: 49
По умолчанию

про спецификаторы доступа я знаю, а как это реализовать конкретно в данном коде
Dina 85 вне форума Ответить с цитированием
Старый 17.04.2014, 20:55   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Перенести все поля из public в private;
Сделать для каждого поля публичные геттеры/сеттеры, типа
Код:
int get_age() const { return age; }
void set_age(int val) { age = val; }
и обращаться к полям только через них.
Son Of Pain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Модифицировать программу(закрытые переменные) Karl__ Помощь студентам 21 24.02.2014 13:37
Закрытые страницы Rost93 PHP 4 22.06.2011 22:16
закрытые исходники в Delphi 2010 VVkSoft Общие вопросы Delphi 11 17.02.2011 13:38
Переменные экземпляра,класса, константы и переменные cop08 Общие вопросы .NET 3 20.12.2010 21:56
закрытые темы Gonzo О форуме и сайтах клуба 3 18.03.2009 21:54