Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Как можно организовать непосредственный доступ к закрытым данным класса
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
demonphp demonphp вне форума
Member
 
Сообщений: 59
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.10.2004
По умолчанию Как можно организовать непосредственный доступ к закрытым данным класса - 03.06.2007, 21:52

Все вопросы касаются ООП:
1. Как можно организовать непосредственный доступ к закрытым данным класса?
2. Когда необходимо включать в класс конструктор по умолчанию с пустой реализацией?
3. В каких случаюях имеет сымсл объявлять конструктор закрытым?
4. Как добиться того, что бы последовательные 2 символа ** воспринимались как возведение в степень?
5. Может ли быть класс абстрактным, если в нем явно не объявлена ни одна виртуальная функция?
6. Возможно ли использование число виртуальных функций?
7. Что это: int(*t(int))(int*) ??

Всем заранее спасибо, кот дал ответы
Ответить с цитированием
  (#2 (permalink)) Старый
D_K D_K вне форума
Member
 
Сообщений: 1,681
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 23.11.2005
По умолчанию 04.06.2007, 00:16

"Учиться, учиться и еще раз учится!"
Или ты решил размять наши мозги?
1) Если не серьезно, то
Код:
#define private public
или через указатели, если серьезно, то к закрытым данным класса имеет право непосредственного обращения только объекты класса или его друзья.
2) Ну... если у тебя есть другие конструкторы, но тебе очень нужно иметь конструктор по умолчанию.
3) Конструктор копирования, например, можно запретить, вместе с оператором присваивания, чтобы запретить копирование объекта.
4) В какую степень-то? Уточни унарный или бинарный оператор требуется...
5) Ну если класс унаследован от абстрактного и не переопределяет его чисто виртуальные методы
6) Можно
7) Функция с целым параметром, возвращающая указатель на функцию, которая получает в качестве параметра указатель на целое, а возвращает целое.

ЗЫ: Место темы явно не в C++ Builder


импортирован с progz.ru
Ответить с цитированием
  (#3 (permalink)) Старый
demonphp demonphp вне форума
Member
 
Сообщений: 59
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.10.2004
По умолчанию 04.06.2007, 00:32

Большое спасибо
Ответить с цитированием
  (#4 (permalink)) Старый
Alisto Alisto вне форума
Member
 
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.05.2007
По умолчанию 05.06.2007, 00:56

Это явно было из институтских билетов али для какой-то викторины...
Ну да ладно.

1) Через функции, возвращающие ссылки. Только не стоит делать такие функции подставляемыми (inline) - практика показала, что с этим могут быть глюки в больших проектах (это связано, как я думаю, с несоответствием дальности указателя на объект из места вызова и this в теле функции)
2) Пардон, но я далеко не сразу понял ответ D_K, так что решил его уточнить. Есть правило "большой четверки" (кажется так) - и конструктор без параметров (он же по умолчанию) с пустым телом будет создан, если других нет. Если же есть явно объявленные конструкторы, то компилятор будет требовать вызов одного из них. Если же все-таки требуется возможность создания объектов без заполнения их значениями (хотя лично я такой вариант считаю небрежным - обнулить никогда не помешает), то следует ЯВНО указать конструктор без параметров (он же по умолчанию) с пустым телом.
3) (согласен с D_K)
4) НИКАК. Синтаксис языка позволяет перегружать только операторы с уже установленной в стандарте символикой. Вводить новую символику запрещается - непросто написать компилятор, который помимо существующей гибкости С++ добавит еще и такое! (Хотя хотелось бы... )
5) (согласен с D_K)
6) Указывать их вызов в исходном тексте, разумеется можно (иначе зачем они нужны?), но если во время выполнения происходит обращение к этой функции, а ее адрес еще не был определен, происходит ошибка времени выполнения.
7) согласен с D_K, с поправкой на то, что это "прототип функции", или "заголовок функции", а также не совсем корректное "определение типа функции" (но не "определение типа указателя на функцию"). Думаю, что для экзаменационного билета это уточнение может быть существенным - это не тело функции, не вызов.


Цитата:
Всем заранее спасибо, кот дал ответы
А если кот уже дал ответы, то какие еще вопросы?
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
закрыт доступ к данным фиффф Windows Vista 1 11.11.2011 21:00
Как организовать доступ к диску через интернет? Luch2900 Любые вопросы от новичков 49 13.03.2010 16:01
как организовать беспроводной доступ? Nigelhorst Сетевые подключения 9 17.02.2009 14:49
Как организовать доступ к папке в локалке только для избранных? YmNIK Софт и программы 3 18.02.2008 17:41
доступ к данным outlook vRa4 Visual Basic 0 21.09.2007 00:37
Доступ к переменным класса из метода класса no_NaMe Assembler 5 27.02.2007 23:37
Как организовать платный доступ к сайту Yulia Вопросы начинающих программистов 14 01.10.2006 09:12
Как получить доступ к данным Form2 не открывая формы imported_Doos C++ Builder 5 29.03.2006 13:59
Доступ к членам дочернего класса из базого NiТR0 Visual C++ 5 30.06.2005 14:38
Потоковая функция и доступ к данным класса mynthon Visual C++ 7 25.06.2005 14:47
Работа с mysql как организовать доступ к данным bester C++ на Unix 5 28.07.2004 18:23
Доступ к глобальным данным Anonymous Visual C++ 1 17.08.2003 03:01



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов