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

динамическое приведение полиморфных объектов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму чисел, не делящихся на 2 и 11 http://www.cyberforum.ru/cpp-beginners/thread357337.html
Дана последовательность натуральных чисел {Aj} не более 20 элементов. Найти сумму чисел, не делящихся на 2 и 11, наибольшее из таких чисел, и номер этого числа в последовательности.
C++ Определение границ типов данных Задача такова. Требуется определить максимальные границы для основных типов данных, т.е. int, double, char, float. Вот набросал, в принципе все работает, но препод сказал, что можно загнать все в какую-то функцию size of или как-то так и получится универсальная программа. Подскажите как это можно исправить. #include <iostream> using namespace std; int main() { int i, N, a; http://www.cyberforum.ru/cpp-beginners/thread357329.html
C++ Создание динамического массива в структуре
Здравствуйте уважаемые форумчане. Вот код моей структуры- в будущем это динамический стек(без использования классов). Почему у меня не получается выделить память для значения stack->value. Компилятор пишет Unit1.cpp(26): E2034 Cannot convert 'int *' to 'int' struct St { int value; int kol; int gol; } ; //------------------------------ //------------------------------
C++ Логистические выражения ветвления
Доброго всем вечера! Опять очень нужна помощь уважаемых форумчан :) 1) Поле шахматной доски определяется парой натуральных чисел (номер вертикали – номер горизонтали) из диапазона 1-8. На поле (k, l) стоит слон, на поле (m, n) – конь. Определить, бьет ли слон коня, конь – слона или фигуры не угрожают друг другу. 2) Вычислить значение выражения (A & В) ^ С, где А – порядковый номер цифры...
C++ Задача о пяти ферзях http://www.cyberforum.ru/cpp-beginners/thread357318.html
Добрый Вечер!!:) Помогите Пожалуйста решить задачу: Найдите такую расстановку пяти ферзей на шахматной доске, при которой каждое поле будет находиться под ударом одного из них. Использовать рекурсию.
C++ Чтение и сохранение данных из конфигурационного файла Привет всем!! Есть программа на C с конфигурационным файлом!!! Надо сделать так чтобы при старте программы конфиг файл читался один раз, в дальнейшем вторичного чтения не должно произойти!!! Данные из конфиг файла должны сохраниться в функциях и в дальнейшем использоваться!!!! как лучше всего это сделать?, где лучше всего сохранить переменные(с данными из config файла)?, и как избежать... подробнее

Показать сообщение отдельно
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 23:13     динамическое приведение полиморфных объектов
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
40
41
42
43
44
45
46
47
48
49
#include <iostream>
 
using namespace std;
 
class CShapeBase
{
public:
    virtual double volume() = 0;
};
 
class C2dShape : public CShapeBase
{
private:
    double x, y;
 
public:
    C2dShape( double _x = 0, double _y = 0 ) : CShapeBase(), x(_x), y(_y){ };
    C2dShape( C2dShape &shape ) : x(shape.x), y(shape.y){ };
 
    virtual double volume(){ return x*y; };
};
 
class C3dShape : public CShapeBase
{
private:
    double x, y, z;
 
public:
    C3dShape( double _x = 0, double _y = 0, double _z = 0  ) : CShapeBase(), x(_x), y(_y), z(_z) { };
    C3dShape( C3dShape &shape ) : x( shape.x ), y( shape.y ), z( shape.z ) { };
 
    virtual double volume(){ return x*y*z; };
};
 
int main( )
{
    C2dShape shape2d( 5, 5 );
    C3dShape shape3d( 10, 10, 10 );
 
    CShapeBase *ptr = &shape2d;
 
    cout << "2d: " << ptr->volume();
 
    ptr = &shape3d;
 
    cout << "\n3d: " << ptr->volume() << '\n';
 
    return 0;
}
Ну и дальше в дочерних классах C2dShape и C3dShape переопределяете метод volume.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru