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

функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 16:24     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #1
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2010, 16:24     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.
Посмотрите здесь:

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов C++
таблица виртуальных функций C++
C++ Таблица виртуальных функций
C++ перегрузка виртуальных функций
C++ Наследования класса как public, private и protected
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.07.2010, 16:43     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #2
nikkka, Функции вроде как не принято в привате писать. Поправьте, если не прав.
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 16:49  [ТС]     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #3
Цитата Сообщение от Lavroff Посмотреть сообщение
nikkka, Функции вроде как не принято в привате писать. Поправьте, если не прав.
не принято, но ведь бывают моменты, когда удобнее в private засунуть, по каким либо причинам. у меня в книжке пара примеров были. но о дружественных и виртуальных функциях ни слова : S
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.07.2010, 16:53     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #4
Цитата Сообщение от Lavroff Посмотреть сообщение
Функции вроде как не принято в привате писать. Поправьте, если не прав.
если к методу не должны обращатся из вне класса, то он заносится в private.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 16:55     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #5
Цитата Сообщение от Lavroff Посмотреть сообщение
Функции вроде как не принято в привате писать.
Почему же, если наследование не предполагается и метод не должен быть доступен клиентам или необходимо запретить доступ производным классам к методу, то его нужно сделать закрытым.
Цитата Сообщение от nikkka Посмотреть сообщение
виртуальных функций
Каким образом ты сможешь переопределить закрытый метод в производном классе?
Цитата Сообщение от nikkka Посмотреть сообщение
дружественных функций
Здесь поподробнее.
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 16:58  [ТС]     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #6
Цитата Сообщение от PointsEqual Посмотреть сообщение
если к методу не должны обращатся из вне класса, то он заносится в private.
это само собой. но если функция члена раздела public пользуется функция члена раздела privet?
я это имел ввиду.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 17:00     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #7
Цитата Сообщение от nikkka Посмотреть сообщение
это само собой. но если функция члена раздела public пользуется функция члена раздела privet?
я это имел ввиду.
Какая разница? Закрытые функции полностью доступны классу в котором они реализованы.
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 17:00  [ТС]     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #8
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Каким образом ты сможешь переопределить закрытый метод в производном классе?
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Здесь поподробнее.
а, ну да, извените, ступил
раздел private "трогать" нельзя, да?
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 17:03     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #9
Цитата Сообщение от nikkka Посмотреть сообщение
раздел private "трогать" нельзя, да?
Именно, к закрытой секции имеет доступ только сам класс и дружественные функции и классы для данного класса.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2010, 09:00     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.
Еще ссылки по теме:

C++ Приминение дружественных функций
C++ Private и public члены класса
C++ Механизм виртуальных функций

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,127
Записей в блоге: 26
15.07.2010, 09:00     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
На всякий случай следует упомянуть, что все эти права доступа реализовны только на уровне языка. В машинном коде этих прав доступа нет. Т.е. можно взять адрес на public член класса, через адресную арифметику получить адрес на private-член и модифицировать его. Таким образом, если видишь в программе, что методы твоего класса значение private члена не меняют, но он изменился, то это вовсе не означает, что "Си++ ацтой" или "кривой компилятор". Это в первую очередь означает наличие косяка в собственной программе (выходы за границу массива или некорректная работа с поинтерной арифметикой)

Люди так или иначе не раз пытались строить аппаратуру, которая на уровне процессора бы поддерживала ООП и эти права доступа были бы реализованы аппаратно (тогда уже не было бы никакой возможности залезть в private часть класса). Но реальный мир устроен так, что большинство написанного софта так или иначе противоречит 100%-ному защищённому программированию. К тому же многие вещи из ООП слишком проблематично реализовывать на аппаратном уровне, а многие попросту не дают нормально оптимизировать программы. Потому рано или поздно такие разработки оказываются на помойке и не находят широкого применения
Yandex
Объявления
15.07.2010, 09:00     функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.
Ответ Создать тему
Опции темы

Текущее время: 17:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru