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

Вопрос про "Наследование" и "Объединение" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что дописать в код, чтобы программа не округляла результат? http://www.cyberforum.ru/cpp-beginners/thread349347.html
Что дописать в код, чтобы программа не округляла результат? #include <iostream> #include <iomanip> using namespace std; int main() { double vklad,procent,n,rez=0; //nach summa, % stavka ...
C++ Оставление курсора на строке Как сделать так, чтоб после ввода значения в командной строке курсор оставался на той же строке, а не переходил на новую? http://www.cyberforum.ru/cpp-beginners/thread349344.html
C++ Заполнить К элементов, стоящих во второй половине данного массива, последовательными числами от K до 1.
Есть задача: Дан N-элементный одномерный массив M. Заполнить К элементов, стоящих во второй половине данного массива, последовательными числами от K до 1. Подскажите, пожалуйста, с помощью какой...
C++ токены
здравствуйте! нужны идеи по решению этой задачи. у меня никаких кроме как поделить их на токены... Однажды Азиз заметил, что номер его телефона 321321 и номер его дома 111 обладают интересным...
C++ Упражнения http://www.cyberforum.ru/cpp-beginners/thread349308.html
Всем добрый день! Недавно начал изучать С++. Прошел Несколько тем: Классы, управляющие операторы, немножко циклы. Есть ли на форуме такая тема куда выкладывают упражнения, потому что в книжке их...
C++ Код не работает как метод... День добрый! есть код: CoInitialize(NULL); * *if(CoInitializeSecurity( NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_PKT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, 0) != S_OK) * *{ * *... подробнее

Показать сообщение отдельно
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
08.09.2011, 16:30  [ТС]
Цитата Сообщение от LosAngeles Посмотреть сообщение
в isDog должно быть кастование, вот тут даже пример есть
http://ru.wikipedia.org/wiki/Dynamic_cast
А такая реализация в ДАННОЙ ситуаций правильная будет?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
enum eSubclasses
{
   TYPE_DOG,
   TYPE_CAT,
   ...
}
 
class Mammals 
{
public:
    eSubclasses GetType() const { return aType; }
    Dog* isDog(){ if (GetType() == TYPE_DOG)  return reinterpret_cast<Dog*>(this); else return NULL;
    // Тут создать функцию isCat()
protected:
    eSubclasses aType;
};
 
struct Dog : Mammals
{
    Dog() { aType = TYPE_DOG; }
    ~Dog() {}
    void CatchACat() { std::cout << "Кот пойман.\n"; }
};
Добавлено через 1 минуту
Или же всё таки быдлокодинг?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru