|
1359 / 857 / 366
Регистрация: 26.02.2015
Сообщений: 3,831
|
|||
Пишем свой класс, спецификатор доступа protected09.07.2015, 18:43. Показов 6642. Ответов 61
Метки нет (Все метки)
Всем привет!
Из книги Р. Лафоре относительно спецификатора доступа protected:
0
|
|||
| 09.07.2015, 18:43 | |
|
Ответы с готовыми решениями:
61
Ошибка доступа access violation: почему класс-наследник не видит protected данные-члены класса-родителя? Пишем свой чекер Пишем свой OPC-server |
|
|
||
| 10.07.2015, 14:52 | ||
|
Если же вы допустите некорректный ввод, то вы получите не предвиденные последствия (вообще это как бы банально и ежу понятно) которые вы потом уже никак не отловите и не обнаружите и в этом нет ничего хорошего.
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 10.07.2015, 14:58 | ||
|
PS где-то я уверен, что передаю верные данные. Где-то не уверен. И здесь правильный подход - проверять корректность в использующей класс части только там, где нужно. Этим и будут сохраняться инварианты класса и избегаться UB. А в классе оставить только ассерты и не пытаться сохранить инварианты любой ценой.
0
|
||
|
|
||||||||
| 10.07.2015, 15:03 | ||||||||
|
К примеру
1. from - задано невалидным 2. to - задано невалидным 3. daysBetween() работает не верно. Добавлено через 3 минуты
0
|
||||||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||
| 10.07.2015, 15:12 | ||||
|
Добавлено через 3 минуты Совсем хорошо, если еще негативные тесты есть.
0
|
||||
|
|
|||
| 10.07.2015, 15:20 | |||
|
Добавлено через 2 минуты Класс должен отвечать за то что ему поручают, т.е за то с чем его ассоциируют, Класс "дата" не должен хранить класс "строку" ( как в моем примере: from.setDate(" .... "); ) он должен хранить именно дату, а не что иное.
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 10.07.2015, 15:23 | |
|
0
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||
| 10.07.2015, 15:33 | ||||
|
Добавлено через 3 минуты
0
|
||||
|
|
||||
| 10.07.2015, 15:42 | ||||
|
Добавлено через 1 минуту Добавлено через 56 секунд UB на то UB а не гарантированое повидение. Если вы изначально UB приравниваете/(включаете) к гарантированному поведению то грош вам цена как программисту. Понятно что есть некоторые упущения и "люфты" которые могут привести к UB при использовании библиотеки, но тем не менее не на каждом же шагу.
1
|
||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||
| 10.07.2015, 15:46 | |||
Может с итераторов начнешь? А то класс итератора при разыменовании не проверяет, конечный он или нет. Там UB получается. Ну так как?Добавлено через 1 минуту
0
|
|||
|
|
||
| 10.07.2015, 15:49 | ||
|
А при чем тут дока? Если кривая библиотека, то и получишь документацию к кривой библиотеке не более.
С таким же успехом можно было уже и назвать std::pair<> в котором члены класса открыты. Вы ведь сами изначально привели пример с датой изначально так?
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||
| 10.07.2015, 16:05 | |||
|
Добавлено через 5 минут PS Хочешь пользоваться микроволновкой, которая всегда перед нагревом целую минуту проверяет, положил ты туда еду или еще что?
0
|
|||
|
|
|||
| 10.07.2015, 16:19 | |||
|
Добавлено через 4 минуты
0
|
|||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||
| 10.07.2015, 16:28 | ||
|
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||
| 10.07.2015, 16:34 | ||||
|
Добавлено через 2 минуты
0
|
||||
|
|
|||||
| 10.07.2015, 17:06 | |||||
|
С таким подходом все можно довести до абсурда. В любом случае это лучше чем так позволяет работать с открытой дверцей, нарушая TБ. Я не говорил что нужно доводить все до абсурда и пихать проверки куда не нужно.
0
|
|||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 10.07.2015, 17:36 | ||
|
Avazart, вернемся к теме.
Чел написал всем известную книгу: http://www.amazon.com/Large-Sc... 0201633620 http://stackoverflow.com/quest... are-design Его слова с аннотации к выступлению на CppCon14 (выделения мои):
0
|
||
|
|
|||||
| 11.07.2015, 01:59 | |||||
|
Вопрос в том что ставить во главе безопасность или скорость, как по мне в большинстве случаем ставится во главе именно безопастность. С другой стороны спецификой именно С++ также являестся и эффективность/скорость. В общем баланс никто не отменял.
В любом случае пользователю желательно предоставить безопастную библиоткеку точнее сказать библиотеку с безопасным видом/интерфейсом, в нутри которая конечно может содержать самые разные оптимизации от си кода до асм вставок. То что допустим STL не делает какие либо проверки и больший перевес в сторону скорости, так это "основопологающая" либа собственно которой отдельное место стандарте и посвещена не одна книга. Т.е готовы ли вы писать талмуды и "учить" людей как правильно использовать вашу библиотеку, вводить свои термины и понятия специфические для вашей либы? Нужна ли вам настолько производительность? Добавлено через 9 минут Не по теме:
Добавлено через 16 минут
http://bookscafe.net/read/satt... idp1948512
0
|
|||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||
| 11.07.2015, 02:52 | ||||
|
0
|
||||
|
|
||||
| 11.07.2015, 03:00 | ||||
|
Разве всякие ассерты не являются проверками? Как в принципе и работа с массивами через указатели.
0
|
||||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||||
| 11.07.2015, 03:12 | ||||
|
0
|
||||
| 11.07.2015, 03:12 | |
|
пишем свой троян с нуля
Пишем свой первый Windows-драйвер Пишем свой интерпретатор языка BASIC Спецификатор доступа и виртуальные функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|