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

Как объявить функцию, которая имеет место быть только в некоторых дочерних классах, а базовый класс абстрактный? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Множественное наследование классов http://www.cyberforum.ru/cpp-beginners/thread831935.html
Продемонстрировать множественное наследование при вводе значений переменных различных типов (строкового, целого без знака, целого со знаком, вещественного) с контролем правильности ввода.
C++ Проблемы с наследованием подскажите пожалуйста пишу код, возникла проблема, получается в данном моем коде есть трехмерный масив в базовом класе и есть одномерный массив в класе производном который заполняется произвольным... http://www.cyberforum.ru/cpp-beginners/thread831918.html
Как сделать сворачивание программы C++
как сделать что бы при сворачивании программы выполнялся код TrayIcon1->Visible =True; Form1->Hide(); Form1->Visible=False;
C++ графы,поиск в глубину
очень нужна помощь!нужно в неориентированном графе найти компоненты связности поиском в глубину. Есть готовый алгоритм поиска,из интернета,но как связать все вместе не могу сообразить. Может...
C++ Лабораторная по программированию, первый курс http://www.cyberforum.ru/cpp-beginners/thread831913.html
#include "iostream" using namespace std; class employee { private: int id; float cost; public: void getworker() {
C++ Посчитать размер файла Здавствуйте! При работе с файлом нужно динамически выделить память с помощью malloc. Но в параметрах malloc нужно указать размер. Подскажите пожалуйста, какой цикл сделать, чтобы он подсчитывал... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
09.04.2013, 13:31
sl_k, Только не забудьте что при виртуальном наследовании следует использовать dynamic_cast.

скажем, 4 из 10 дочерних классов будут иметь эту приватную переменную
Дополнительный интерфейс и каст к этому интерфейсу ну али так как вы сделали.

Собственно пример маленький с интерфейсом

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
 
class Base
{
public:
   virtual ~Base() {}
};
 
class CAble
{
public:
   CAble(int cc) : c(cc)
   {
   }
   virtual ~CAble() {}
   int get() const { return c; }
private:
   int c;
};
 
class CDerived : public Base, public CAble
{
public:
   CDerived() : CAble(0)
   {
   }
};
 
class Derived : public Base
{
};
 
int main()
{
   Base* p = new CDerived();
   CDerived* c = static_cast<CDerived*>(p);
   std::cout << c->get() << std::endl;
   delete p;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru