Форум программистов, компьютерный форум 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++ графы,поиск в глубину
очень нужна помощь!нужно в неориентированном графе найти компоненты связности поиском в глубину. Есть готовый алгоритм поиска,из интернета,но как связать все вместе не могу сообразить. Может кто-нибудь решал подобные задачки. Заранее спасибо vector < vector <int> > g; // заданный граф. vector <int> used; // массив меток. в начале его нужно заполнить 0. int n; // число вершин в графе. void...
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
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru