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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение и запись текстового файла http://www.cyberforum.ru/cpp-beginners/thread371099.html
Проблема в том, что написала самый обычный, самый стандартный код для чтения и записи текстового файла. Во-первых он всегда мне пишет "Can't open the file!". #include <iostream> #include <fstream> using namespace std; int main() { ofstream out("D:\test.txt"); if(!out) {
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 d); void push(node **top, char d); char pop(node **top);
Как представить на яыке с++ образуют ли ребра графа цикл или нет ? 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++) { for(int j =0;j<cnt;j++) {
C++ Вычисление составной функции http://www.cyberforum.ru/cpp-beginners/thread371070.html
Составьте программу для вычисления составной функции: f(x) может принимать одно из двух значений (e в степени x, или x в квадрате(в степени 2)) по выбору пользователя. Результат получите в виде: x = ... i =... f(x)= e =...
C++ Инициализация модуля Привет! Когда я программировал в Delphi, там у каждого модуля могла быть секция initialization. Так вот, есть ли что-то подобное в C++. То есть можно ли назначить функцию в модуле, чтобы при загрузке программы с подключенным этим модулем она выполнялась автоматически. подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
23.10.2011, 15:25     создать метод доступа к функциям класса-наследника
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
#include<iostream>
 
struct Triangle;
struct Rectangle;
 
class Figure
{
public:
    // создать метод доступа ToTriangle(), ToRectangle()
    Triangle ToTriangle();
    Rectangle ToRectangle();
};
struct Triangle  : Figure
{
    Triangle(const Figure&){}
    int GetArea() const { return 10;/*itsArea*/; }
};
struct Rectangle  : Figure
{
    Rectangle(const Figure&){}
    int GetPerimeter() const { return 100/*itsPerimeter*/; }
};
 
 Triangle Figure::ToTriangle(){
        return Triangle(*this);
 }
 
 Rectangle Figure::ToRectangle(){
        return Rectangle(*this);
}
int main()
{ 
    Figure pFigure;
    /*     вот тут должен открываться доступ к функциям Triangle.*/
    std::cout<<pFigure.ToTriangle().GetArea()<<std::endl;
    /*     вот тут должен открываться доступ к функциям Rectangle.*/
    std::cout<<pFigure.ToRectangle().GetPerimeter()<<std::endl;
}
Цитата Сообщение от Nick Alte Посмотреть сообщение
Это простейший способ, по-хорошему надо проверять результат dynamic_cast и выбрасывать исключения в случае ошибки
Угу, потому как тут преведение таким способом не возможно
 
Текущее время: 22:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru