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

Наследование классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Табулирование на некотором интервале; Определение областей убывания ; Определение минимумов http://www.cyberforum.ru/cpp-beginners/thread1005107.html
Всем доброго времени суток. Прощу прощения, нужна ваша помощь. Если кто может помочь буду благодарен. Для функции y=sin(x)+(x+a); y=exp(x)+(x+a) осуществляется: a.Табулирование на некотором...
C++ Бинарное дерево: вычисление алгебраического выражения Построить и вывести на экран бинарное дерево алгебраического выражения. Написать функции обходов: инфиксный, префиксный, постфиксный. пример выражения: 9+ 8*(7+(6*(5+4)–(3–2))+1) http://www.cyberforum.ru/cpp-beginners/thread1005096.html
Решение заданной функции C++
Объясните как решить систему уравнений используя ветвления "if - els", switch число х вводится с клавиатуры ...
C++ Структуры в С++ и вывод студентов со средним баллом больше 7. Исправить код
Помогите с заданием, кто понимает. Составить программу формирования файла, содержащего Ведомость студентов, сдававших сессию, содержит ФИО и оценки по четырем предметам. Вывести список студентов,...
C++ Задано слово.Удалить повторяющие буквы http://www.cyberforum.ru/cpp-beginners/thread1005082.html
Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы. #include <stdlib.h> #include "conio.h" #include <iostream>...
C++ Написать программу выводящую на экран таблицу значений функции 2. Написать программу выводящую на экран таблицу значений функции Y= sin(X) на отрезке с шагом h. (аргумент функции sin(x) выражается в радианах , а не в привычных градусах 1r=57.296◦) подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7497 / 4613 / 694
Регистрация: 29.11.2010
Сообщений: 12,631
12.11.2013, 01:00
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
50
51
52
53
54
#include <iostream>
 
struct A
{
    int a;
    A()      : a()  {}
    A(int x) : a(x) {}
    virtual ~A()    {}
    virtual void print() const
    {
        std::cout << a << std::endl;
    }
};
 
struct B : public A
{
    int b;
    B()             : A(),  b()  {}
    B(int x, int y) : A(x), b(y) {}
    virtual void print() const
    {
        std::cout << a << ", " << b << std::endl;
    }
};
 
struct C
{
    const static int M = 10;
    A* arr[M];
    static int index;
 
    void add(A* a)
    {
        if (index < M) arr[index++] = a;
    }
    void print() const
    {
        for (int i=0; i < index; i++)
            arr[i]->print();
    }
};
 
int C::index = 0;
 
int main()
{
    C c;
    c.add(new A());
    c.add(new A(1));
    c.add(new B(1, 2));
    c.print();
    for (int i=0; i < c.index; i++)
        delete c.arr[i];
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.