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

Виртуальное наследование (указатель на базовый класс) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) http://www.cyberforum.ru/cpp-beginners/thread866555.html
Здравствуйте! Есть задача... вкратце. Нужно создать массив указателей по выборке животных участвующих в забеге. Это Лошадь, Крокодил, Верблюд, БТР) Как мне 4 разных типа обьектов в один массив...
C++ Разобрать число произвольной длины на цифры Нужно разобрать число произвольной длины на цифры и вывести их по одному. Всё это в циклах for, while, do while. Пользоваться массивом нельзя, только деление с остатком. Пробовал сделать для... http://www.cyberforum.ru/cpp-beginners/thread866539.html
C++ Перевести первые буквы слов в верхний регистр
Помогите как это сделать ? Желательно работа с файлом, то есть что ты предложение брало из файла txt. Какие есть варианты решить эту задачу ? Помогите, пожалуйста.
C++ Написать программу, которая по номеру детали выводит ее номер на экран
Помогите пожалуйста решить пару задач :3 б)Имеется пронумерованный список деталей 1)шуруп 2)винт 3)гвоздь 4)гайка 5)болт Написать программу, которая по номеру детали выводит ее номер на экран....
C++ Расположить столбцы в порядке возрастания элементов K-ой строки http://www.cyberforum.ru/cpp-beginners/thread866528.html
Помогите пожалуйста решить пару задач :3 3)Задана целая матрица размером m на n. Расположить столбцы в порядке возрастания элементов K-ой строки(К задаётся пользователем) вот, заранее спасибо :3
C++ Найти количество элементов, являющихся удвоенными нечетными числами Дана целочисленная матрица. Для каждого столбца матрицы найти количество элементов, являющихся удвоенными нечетными числами. Определить, будут ли упорядочены полученные значения. Выполнить задание,... подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
16.05.2013, 00:32
akk, Да от что я имел введу просто "вытянутый ром".

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream>
class C1
{
protected:
    int a;
public:
    C1():a(1){std::cout << "Konstructor C1\n";}
    ~C1(){std::cout << "Destructor C1\n";}
    virtual int Get();
};
class C2: virtual public C1
{
protected:
    int b;
public:
    C2():b(2){std::cout << "Konstructor C2\n";}
    ~C2(){std::cout << "Destructor C2\n";}
    virtual int Get();
};
class C3: virtual public C1
{
protected:
    int c;
public:
    C3():c(3){std::cout << "Konstructor C3\n";}
    ~C3(){std::cout << "Destructor C3\n";}
    virtual int Get();
};
class C4: public C2
{
protected:
    int d;
public:
    C4():d(4){std::cout << "Konstructor C4\n";}
    ~C4(){std::cout << "Destructor C4\n";};
    virtual int Get();
    
};
class C5: public C3
{
protected:
    int d;
public:
    C5():d(5){std::cout << "Konstructor C5\n";}
    ~C5(){std::cout << "Destructor C5\n";};
    virtual int Get(){return d;}
    
};
class C6: public C4,public C5
{
protected:
    int d;
public:
    C6():d(6){std::cout << "Konstructor C6\n";}
    ~C6(){std::cout << "Destructor C6\n";};
    virtual int Get(){return d;}
    
};
 
using namespace std;
int main()
{
    C1 * pointer;
    pointer = new C6();
    cout << pointer->Get();
    cout <<endl;
 
 
    return 0;
}
int C1::Get()
{
    return a;
}
int C2::Get()
{
    return b;
}
int C3::Get()
{
    return c;
}
int C4::Get()
{
    return d;
}
Просто самого давно мучал вопрос, а тестить было лень.
Если попробовать из верхушки убрать virtual, то в самом нижнем классе будет хранится два объекта С1 с каждой ветки и уже виртуальный вызов нельзя сделать.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru