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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.87
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
#1

Зачем нужен тип private, если есть protected? - C++

11.08.2010, 10:25. Просмотров 3049. Ответов 9
Метки нет (Все метки)

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

Зачем нужен спецификатор private? - C++
Зачем нужен спецификатор private?Если по умолчанию все члены класса являются частными? Class queue { int q; int sloc, rloc; ...

private, protected, public - C++
class test { public: test(); int getPrivate(); int vpublic; protected: int vprotected; private: int vprivate;

Protected Private Public - C++
Возник вопрос, немного наверное бредовый и на практике наврятли применимый, но всё же интересно, а возможно поменять модификатор доступа в...

Public, Private, Protected (смысл применения) - C++
Прошу Вас пояснить реальный смысл ключевых слов, перечисленных в теме. С уважением

Ключевые слова private, public, protected - C++
Смысл ключевых слов private, public, protected в списке базовых классов при декларации производного класса?

Наследование. Помогите с этими public, protected. private - C++
Вот код, в нем вылетает ошибка Unit2.cpp(16): E2251 Cannot find default constructor to initialize base class 'My' в файле unit2.cpp во...

9
Rockedit
Автор FAQ
Автор FAQ
1760 / 566 / 9
Регистрация: 22.12.2009
Сообщений: 1,544
11.08.2010, 10:28 #2
Здравствуйте! Да нет, свойства не те же. челены protected доступны производным класам, в то время как private нет. Это может оказаться полезным.
1
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
11.08.2010, 10:36  [ТС] #3
Цитата Сообщение от Rockedit Посмотреть сообщение
Это может оказаться полезным.
и я об этом. protected лучше private-a.
0
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
11.08.2010, 10:38 #4
private наследование определяет public и protected переменные как private.
protected же как protected. т.е к етим классам есть доступ в производных от них классов.
у private наследования такого доступа нет.
"Protected лучше private"-это различные вещи.
1
Faba
87 / 85 / 4
Регистрация: 30.10.2009
Сообщений: 562
11.08.2010, 10:40 #5
некоторые переменные не нужны производным классам, зачем же тогда их делать protected? А если класс sealed, тогда protected делать переменным вообще бессмысленно
1
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,848
11.08.2010, 10:41 #6
Цитата Сообщение от nikkka Посмотреть сообщение
protected лучше private-a
Ни один не лучше, не хуже другого - у них назначение разное. Это всё равно, что гаечный ключ с отвёрткой сравнивать...
1
Rockedit
Автор FAQ
Автор FAQ
1760 / 566 / 9
Регистрация: 22.12.2009
Сообщений: 1,544
11.08.2010, 10:43 #7
и я об этом. protected лучше private-a.
я имел ввиду, что иногда требуется скрывать некоторые члены даже от производных класов, хотя скажем в C# доступ все равно можно получить при помоши ключевого слова base. Попросту говоря, они служат разным целям. К примеру возьмем тот же C#. абстрактные классы и интерфейсы, они во многом схожи, но не взаимозаменяемы. Просто видать тебе еше не приходилось сталкиваться с тем, что требуется использование именно private.
1
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
11.08.2010, 10:45  [ТС] #8
Цитата Сообщение от Rockedit Посмотреть сообщение
Просто видать тебе еше не приходилось сталкиваться с тем, что требуется использование именно private.
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
11.08.2010, 14:11 #9
Цитата Сообщение от nikkka Посмотреть сообщение
protected лучше private-a.
с такой точки зрения можно вообще все в public лепить.
0
Skoi
16 / 16 / 1
Регистрация: 31.07.2009
Сообщений: 54
11.08.2010, 14:34 #10
Цитата Сообщение от fasked Посмотреть сообщение
с такой точки зрения можно вообще все в public лепить.
И потом особо классно ставить постфиксы к переменным и методам
что-то типа - _DontCallThisIdiot или _MayUnexpectedCarshIfUsed
0
11.08.2010, 14:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2010, 14:34
Привет! Вот еще темы с ответами:

Рекомендация: сначало public, потом protected/private - C++
На хабре есть статья "90 рекомендаций по стилю написания программ на C++". Интересует вот этот пункт: 44. Разделы класса public,...

Наследования класса как public, private и protected - C++
Ну допустим у нас есть класс который наследуется как public: class Cylinder : public Point { // ...здесь код } Класс...

Предложите примеры деклараций классов с protected и private членами - C++
Только декларации. Как пишутся спецификаторы, я знаю. Просто надо сделать примеры деклараций классов со спецификаторами - и #, а я что то...

Для чего нужны модификаторы protected, private, public - C++
подскажите, кто в курсе, зачем вообще нужны эти модификаторы доступа? ведь, все их можно обойти... сейчас курю Страуструпа "Дизайн и...


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

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

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