Форум программистов, компьютерный форум 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++. То есть можно ли назначить функцию в модуле, чтобы при загрузке программы с подключенным этим модулем она выполнялась автоматически. подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
23.10.2011, 16:32     создать метод доступа к функциям класса-наследника
Цитата Сообщение от Kastaneda Посмотреть сообщение
Угу, потому как тут преведение таким способом не возможно
А вот не надо мне, пожалуйста, рассказывать этих сказочек, а лучше смотреть внимательнее и правильно пользоваться конструкциями языка.
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
#include <iostream>
class Triangle;
class Rectangle;
class Figure {
public:
    Triangle& ToTriangle();
    Rectangle& ToRectangle();
    virtual ~Figure() {};
};
 
class Triangle: public Figure {
public:
    void GetArea() const {std::cout << "Triangle::GetArea" << std::endl;}
};
 
class Rectangle: public Figure {
public:
    void GetPerimeter() const {std::cout << "Rectangle::GetPerimeter" << std::endl;}
};
 
Triangle& Figure::ToTriangle()
{return *dynamic_cast<Triangle*>(this);}
 
Rectangle& Figure::ToRectangle()
{return *dynamic_cast<Rectangle*>(this);}
 
int main()
{
    Figure* figures[] = {new Rectangle(), new Triangle()};
    figures[0]->ToRectangle().GetPerimeter();
    figures[1]->ToTriangle().GetArea();
    delete figures[1];
    delete figures[0];
}
 
Текущее время: 13:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru