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

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

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

Функции класса в разделе private реализуются так же как и в разделе public? - C++

14.07.2010, 16:24. Просмотров 2281. Ответов 9
Метки нет (Все метки)

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

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

Private и public члены класса - C++
Привет! Есть такой класс: class CDateTime{ private: qint16 year_; qint8 month_, day_; qint8 hours_, minutes_,...

Как переделать с public на private и создать методы для закрытых полей? - C++
Очень простой вопрос , но я только сегодня начал учить классы и возник такой вопрос - Как переделать с public на private и создать методы...

Public и Private - C++
Доброго времени суток! Написал код и понял, что некоторые методы должны быть private, а не public. Если переношу их в private, то...

Как получить private переменную класса, функцей членом другого класса - C++
Игра змейка: Есть класс поле в котором содержится размеры поля: class field { private: int FIELD_START; int...

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

9
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.07.2010, 16:43 #2
nikkka, Функции вроде как не принято в привате писать. Поправьте, если не прав.
0
nikkka
Мат в 32 хода
236 / 171 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 16:49  [ТС] #3
Цитата Сообщение от Lavroff Посмотреть сообщение
nikkka, Функции вроде как не принято в привате писать. Поправьте, если не прав.
не принято, но ведь бывают моменты, когда удобнее в private засунуть, по каким либо причинам. у меня в книжке пара примеров были. но о дружественных и виртуальных функциях ни слова : S
0
PointsEqual
ниначмуроФ
838 / 522 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.07.2010, 16:53 #4
Цитата Сообщение от Lavroff Посмотреть сообщение
Функции вроде как не принято в привате писать. Поправьте, если не прав.
если к методу не должны обращатся из вне класса, то он заносится в private.
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 16:55 #5
Цитата Сообщение от Lavroff Посмотреть сообщение
Функции вроде как не принято в привате писать.
Почему же, если наследование не предполагается и метод не должен быть доступен клиентам или необходимо запретить доступ производным классам к методу, то его нужно сделать закрытым.
Цитата Сообщение от nikkka Посмотреть сообщение
виртуальных функций
Каким образом ты сможешь переопределить закрытый метод в производном классе?
Цитата Сообщение от nikkka Посмотреть сообщение
дружественных функций
Здесь поподробнее.
0
nikkka
Мат в 32 хода
236 / 171 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 16:58  [ТС] #6
Цитата Сообщение от PointsEqual Посмотреть сообщение
если к методу не должны обращатся из вне класса, то он заносится в private.
это само собой. но если функция члена раздела public пользуется функция члена раздела privet?
я это имел ввиду.
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 17:00 #7
Цитата Сообщение от nikkka Посмотреть сообщение
это само собой. но если функция члена раздела public пользуется функция члена раздела privet?
я это имел ввиду.
Какая разница? Закрытые функции полностью доступны классу в котором они реализованы.
1
nikkka
Мат в 32 хода
236 / 171 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 17:00  [ТС] #8
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Каким образом ты сможешь переопределить закрытый метод в производном классе?
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Здесь поподробнее.
а, ну да, извените, ступил
раздел private "трогать" нельзя, да?
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 17:03 #9
Цитата Сообщение от nikkka Посмотреть сообщение
раздел private "трогать" нельзя, да?
Именно, к закрытой секции имеет доступ только сам класс и дружественные функции и классы для данного класса.
1
Evg
Эксперт CАвтор FAQ
18917 / 6877 / 503
Регистрация: 30.03.2009
Сообщений: 19,367
Записей в блоге: 30
15.07.2010, 09:00 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
На всякий случай следует упомянуть, что все эти права доступа реализовны только на уровне языка. В машинном коде этих прав доступа нет. Т.е. можно взять адрес на public член класса, через адресную арифметику получить адрес на private-член и модифицировать его. Таким образом, если видишь в программе, что методы твоего класса значение private члена не меняют, но он изменился, то это вовсе не означает, что "Си++ ацтой" или "кривой компилятор". Это в первую очередь означает наличие косяка в собственной программе (выходы за границу массива или некорректная работа с поинтерной арифметикой)

Люди так или иначе не раз пытались строить аппаратуру, которая на уровне процессора бы поддерживала ООП и эти права доступа были бы реализованы аппаратно (тогда уже не было бы никакой возможности залезть в private часть класса). Но реальный мир устроен так, что большинство написанного софта так или иначе противоречит 100%-ному защищённому программированию. К тому же многие вещи из ООП слишком проблематично реализовывать на аппаратном уровне, а многие попросту не дают нормально оптимизировать программы. Потому рано или поздно такие разработки оказываются на помойке и не находят широкого применения
4
15.07.2010, 09:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2010, 09:00
Привет! Вот еще темы с ответами:

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

LNK2019: о private и public в классе - C++
Всем суп, есть беда: // "NAbstractNumber.h" class NAbstractNumber{ NAbstractNumber(){}; virtual std::string toString(int...

Перевод class из public в private - C++
Помогите пожалуйста, требуется перевести в данной программе классы из public в private Вот код: #include <iostream> #include...

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


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

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

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