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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bearwoolfs
15 / 15 / 1
Регистрация: 10.01.2011
Сообщений: 275
#1

Множественное наследование - C++

02.06.2011, 17:15. Просмотров 475. Ответов 5
Метки нет (Все метки)

Друзья прошу помочь разобраться, как получить доступ из массива J[X], к методу (O) из класса (С)


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
#include <iostream>
using namespace std;
 
class A
{
    public:
    virtual void M(){cout<<"Class A"<<endl;} 
};
 
class B
{
    public:
    virtual void N(){cout<<"Class B"<<endl;} 
};
 
class C:public A,public B
{
    public:
    virtual void O(){cout<<"Class C"<<endl;} 
};
const int X=5;
int main()
{
    A*R[X];
    B*J[X];
    A*pA;
    B*pB;
    int i;
    for (i=0;i<5;i++)
    {
    pA=new C;
    R[i]=pA;
    }
    for (i=0;i<5;i++)
    {
    pB=new C;
    J[i]=pB;
    }
    
for (i=0;i<5;i++)
    {
    pB=new B;
    R[i]->M();
    }
for (i=0;i<5;i++)
    {
        J[i]->N();  
}
return 0;
}
 Комментарий модератора 
В следующий раз увижу код, не оформленный в теги - предупреждение будет более весомым.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2011, 17:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Множественное наследование (C++):

множественное наследование - C++
разработайте алгоритм и создайте программы с применением множественного наследования. При выполнении данного задания необходимо создать не...

Множественное наследование в С++ - C++
Столкнулся с такой проблемой: class D{ ... public: ... void setD(); ... }; class Dd : public D{ ...

множественное наследование - C++
Почему не компилируется код? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; using namespace std; class...

Множественное наследование - C++
7 задание Сделайте пожалуйста, большое спасибо! :good:

Множественное наследование - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; using namespace std; class ship { ...

Множественное наследование - C++
Добрый день. У меня имеется базовый класс A. У этого класса есть несколько наследников. Есть еще один класс B, который является...

5
co6ak
02.06.2011, 17:17
  #2

Не по теме:

ща будет фиолетого-белое окошко с надписью "! Используйте теги форматирования кода"

1
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
02.06.2011, 17:20 #3
Цитата Сообщение от bearwoolfs Посмотреть сообщение
B *J[X];
ты можешь обратиться только к методу N или M
если нужен метод О:
Цитата Сообщение от bearwoolfs Посмотреть сообщение
С *J[X];
1
bearwoolfs
15 / 15 / 1
Регистрация: 10.01.2011
Сообщений: 275
02.06.2011, 17:28  [ТС] #4
Не догнал )))
Нужностарый массив высвободить из памяти
delete j[i]
а новый записать
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
02.06.2011, 17:46 #5
у тебя массив объектов типа B, у которого нет метода О. И боюсь удалить delete[] J нельзя, так как он не был выделен с помощью new и скорее всего живёт в сегменте данных, а не в куче. Скорее всего выдаст ошибку при выполнении. Но допустим у тебя J был динамическим объектом
Цитата Сообщение от bearwoolfs Посмотреть сообщение
а новый записать
что это значит? Если ты запишешь новый, то метод O у него всё равно не появится. Есть способ поместить объекты типа C в массив В, но он подразумевает под собой танцы с void* и xxx_cast, но это всё небезопасно тем более для типов, определяемых пользователем. Врядли это то что ты хочешь сделать
0
silent_1991
02.06.2011, 18:02     Множественное наследование
  #6

Не по теме:

Цитата Сообщение от co6ak Посмотреть сообщение
ща будет фиолетого-белое окошко с надписью "! Используйте теги форматирования кода"
Не угадали

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 18:02
Привет! Вот еще темы с ответами:

Множественное наследование - C++
Задание Часть 1. Создать иерархию типов &quot;Точка&quot; и подчинённые ему &quot;Точка в двумерном пространстве&quot; и &quot;Точка в трёхмерном...

Множественное наследование - C++
Листинг: #include &lt;iostream&gt; using namespace std; class Person{private: string Fname,Sname,years;}; class Student{private:...

Множественное наследование - C++
Вычислите площадь и периметр прямоугольника, если известны его диагональ и одна из сторон.

множественное наследование - C++
Мечтаю реализовать такую иерархию human-&gt;employee-&gt;doctor в реализации doctor ругает конструктор. Ошибка 1 error C2062: type 'char'...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
02.06.2011, 18:02
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru