Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Леночка93
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 6
#1

Зачем оставлять переменные-члены класса закрытыми? - C++

04.07.2012, 19:45. Просмотров 660. Ответов 2
Метки нет (Все метки)

Вот пишут,что нужно переменные - члены класса оставлять закрытыми, используя для их установки значений или возвращений значений, методы доступа. Но зачем так делать?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 19:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Зачем оставлять переменные-члены класса закрытыми? (C++):

класс «Строка» (данные-члены класса – строчка, функции-члены класса – операции) - C++
Помогите пожалйуста с реализацией программы... Реализовать класс «Строка» (данные-члены класса – строчка (указатель на массив, ...

При вызове функции Sides () которая по сути должна менять переменные члены класса — ничего не происходит - C++
Всем привет! Такой вопрос, в листинге объявлен класс Rect и определен объект theRect. При вызове функции Sides() которая по сути должна...

Зачем использовать функции-члены для изменения членов-данных - C++
Вообщем, объяснить вопрос. К примеру имеется класс, в private-свойствах которого имеется x1,y1,x2,y2(Rect), а в public находятся функции...

ООП. Переменные-члены в динамической памяти. - C++
Решил я массив в классе динамически создавать и наткнулся на пробелы в знаниях. После безуспешного или кривого поиска решил спросить у...

Зачем переменные инициализируются нулем? - C++
#include <math.h> #include <iostream> using namespace std; int gcf(int a,int b); int main () { int a=0, b=0; while(1){ ...

С++, delete в деструкторе класса не видит переменные, создаваемые new в конструкторе класса - C++
#include "stdafx.h" #include "iostream" #include "math.h" using namespace std; class fun { double t = 0, x = 0, y = 0, z =...

2
samdavydov
60 / 21 / 2
Регистрация: 23.02.2012
Сообщений: 36
04.07.2012, 20:01 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Что бы запретить прямое изменение.

У тебя есть счет. Это класс. Сколько денег на счету - внутренная закрытая переменная.
Есть методы доступа и изменения - посмотреть баланс, положить денег, снять денег. Только этими тремя операциями можно менять сумму. Соответсвенно, эти операции можно сделать безопасными, они могут делать запись в журнале, можно добавить блокировки, проверку на снятие и т.д. Их можно сделать достаточно надежными, чтобы ты не беспокоилась, что твои деньги доступны всем.

А теперь представь, что сумма на счету - это просто открытая переменная. Меняет, кто хочет. Ты бы воспользовалась услугами такого банка?
3
Леночка93
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 6
04.07.2012, 20:39  [ТС] #3
Не-а, не воспользовалась бы)
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2012, 20:39
Привет! Вот еще темы с ответами:

Зачем в определении функции заново задаются переменные - C++
Есть программа для перевода из Цельсия в фарингейты На грамматические ошибки не обращайте внимание, суть в том, что зачем во второй части...

Статические члены класса - C++
Доброго времени суток. Задача состоит в том, чтобы создать список обыектов класса Test, с возможностью последующего добавления элементов...

Static члены класса - C++
Здравствуйте. есть класс, например point { public: float x; float y;

Указатели на члены класса - C++
Здравствуйте, В коде при вызове функции print() из CL2 вызывается print() из CL1. Подскажите, где грабли. Заранее спасибо. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru