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

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

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

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

14.07.2010, 16:24. Просмотров 2220. Ответов 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_,...

Наследование дружественных функций - C++
Доброго времени суток. Вот цитата из методички: "Необходимо заметить, что функция дружественная базовому классу, имеющая неограниченный...

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов - C++
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

Можно ли делать шаблоны дружественных функций? - C++
Вот пример того, как я хочу объявить дружественную функцию в классе: friend template <typename T> rational_fraction operator*(T,...

Добавить в программу использование дружественных функций - C++
Вот имеется программа надо добавить к ней использование дружественных функций friend вот не могу понять как и что добавить помогите...

9
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.07.2010, 16:43 #2
nikkka, Функции вроде как не принято в привате писать. Поправьте, если не прав.
0
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 16:49  [ТС] #3
Цитата Сообщение от Lavroff Посмотреть сообщение
nikkka, Функции вроде как не принято в привате писать. Поправьте, если не прав.
не принято, но ведь бывают моменты, когда удобнее в private засунуть, по каким либо причинам. у меня в книжке пара примеров были. но о дружественных и виртуальных функциях ни слова : S
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.07.2010, 16:53 #4
Цитата Сообщение от Lavroff Посмотреть сообщение
Функции вроде как не принято в привате писать. Поправьте, если не прав.
если к методу не должны обращатся из вне класса, то он заносится в private.
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 16:55 #5
Цитата Сообщение от Lavroff Посмотреть сообщение
Функции вроде как не принято в привате писать.
Почему же, если наследование не предполагается и метод не должен быть доступен клиентам или необходимо запретить доступ производным классам к методу, то его нужно сделать закрытым.
Цитата Сообщение от nikkka Посмотреть сообщение
виртуальных функций
Каким образом ты сможешь переопределить закрытый метод в производном классе?
Цитата Сообщение от nikkka Посмотреть сообщение
дружественных функций
Здесь поподробнее.
0
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 16:58  [ТС] #6
Цитата Сообщение от PointsEqual Посмотреть сообщение
если к методу не должны обращатся из вне класса, то он заносится в private.
это само собой. но если функция члена раздела public пользуется функция члена раздела privet?
я это имел ввиду.
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 17:00 #7
Цитата Сообщение от nikkka Посмотреть сообщение
это само собой. но если функция члена раздела public пользуется функция члена раздела privet?
я это имел ввиду.
Какая разница? Закрытые функции полностью доступны классу в котором они реализованы.
1
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
14.07.2010, 17:00  [ТС] #8
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Каким образом ты сможешь переопределить закрытый метод в производном классе?
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Здесь поподробнее.
а, ну да, извените, ступил
раздел private "трогать" нельзя, да?
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.07.2010, 17:03 #9
Цитата Сообщение от nikkka Посмотреть сообщение
раздел private "трогать" нельзя, да?
Именно, к закрытой секции имеет доступ только сам класс и дружественные функции и классы для данного класса.
1
Evg
Эксперт CАвтор FAQ
18370 / 6417 / 441
Регистрация: 30.03.2009
Сообщений: 17,803
Записей в блоге: 28
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
Привет! Вот еще темы с ответами:

Использование виртуальных функций - C++
Программа берет данные из двух файлов, в которых есть дата и количество проданных билетов, и высчитывает среднее количество проданных...

Вызов виртуальных функций - C++
Доброго времени суток, форумчане! Стоит такая задача: Есть класс, который содержит три чисто виртуальные функции, назовём его IClass. ...

Использование виртуальных функций - C++
Дан класс "треугольник", который определяется длиной одной из сторон и значениями прилегающих двух углов. Создать соответствующие...

Механизм виртуальных функций - C++
Всем привет! Имею базовый абстрактный класс: class Interface { public: //функция детектирования устройства true - если команда...


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

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

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