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

создать метод доступа к функциям класса-наследника - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтение и запись текстового файла http://www.cyberforum.ru/cpp-beginners/thread371099.html
Проблема в том, что написала самый обычный, самый стандартный код для чтения и записи текстового файла. Во-первых он всегда мне пишет "Can't open the file!". #include <iostream> #include <fstream>...
C++ задачка с++ #include <iostream> using namespace std; int main() { int a;int i,j,z,y; cout<<"vvedite el-tu massiva:"; for(j=0;j<5;j++) { http://www.cyberforum.ru/cpp-beginners/thread371096.html
C++ Стек (класс)
Решил переделать эту программу, используя для определения стека не структуру, а класс#include <iostream> using namespace std; struct node{ char d; node *p; }; node *first(char...
Как представить на яыке с++ образуют ли ребра графа цикл или нет ? C++
void Graf::Algoritm() { Graf t = Graf(true); bool flag = false; Rib temp;Rib temp2;temp.Length = 999;temp2.Length = 999; for(int i =0;i<cnt;i++) { ...
C++ Вычисление составной функции http://www.cyberforum.ru/cpp-beginners/thread371070.html
Составьте программу для вычисления составной функции: f(x) может принимать одно из двух значений (e в степени x, или x в квадрате(в степени 2)) по выбору пользователя. Результат получите в...
C++ Инициализация модуля Привет! Когда я программировал в Delphi, там у каждого модуля могла быть секция initialization. Так вот, есть ли что-то подобное в C++. То есть можно ли назначить функцию в модуле, чтобы при загрузке... подробнее

Показать сообщение отдельно
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143

создать метод доступа к функциям класса-наследника - C++

23.10.2011, 14:42. Просмотров 938. Ответов 11
Метки (Все метки)

Допустим, есть базовый класс Фигура и наследники "Треугольник", "Квадрат". Мне нужно создать метод доступа к функциям наследника.
Просьба не говорить: "это не правильный подход к ООП, юзай абстрактный метод". Мне нужна именна такая реализация (Агрегирование)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Figure
{
public:
    // создать метод доступа ToTriangle(), ToRectangle()
};
struct Triangle // : Figure
{
    int GetArea() const { return itsArea; }
};
struct Rectangle // : Figure
{
    int GetPerimeter() const { return itsPerimeter; }
};
 
void main()
{ 
    Figure pFigure;
    /*     вот тут должен открываться доступ к функциям Triangle.*/
    pFigure.ToTriangle().GetArea();
    /*     вот тут должен открываться доступ к функциям Rectangle.*/
    pFigure.ToPerimter().GetPerimter();
}
Пытался сам реализовать с приведениями типов. Покажите свою версию реализаций доступа(без ссылок на сторонние ресурсы)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru