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

Множественное наследование в форме ромба - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сборка dll в IDE Code:Block http://www.cyberforum.ru/cpp-beginners/thread629592.html
Доброго времени суток. Начал собирать dll-ку со всем содержанием языка lua через упомянутую выше программу. Не проходит build. Вот: "lua - Default" uses an invalid compiler. Probably the toolchain...
C++ FPS, как узнать? Всем Добрый день. Подскажите, кто знает как можно узнать fps, а затем вывести его на экран? P.S Если была такая тема дайте ссылку) http://www.cyberforum.ru/cpp-beginners/thread629574.html
Ошибка в классе - multiple types C++
Изучаю связанные списки указателей. Написал список по той же структуре, как и в книге. Ошибка выбивается - \Link_List\main.cpp|19|error: multiple types in one declaration| Вроде перепроверял - все...
C++ Перегрузка запятой
В одном учебнике (Топп, Структуры данных) указывается, что опекрация запятая не может быть перегружена. Дейтлы утверждают прямо противоположное. Кто из них прав?
C++ Считывание символов http://www.cyberforum.ru/cpp-beginners/thread629557.html
Помогите с небольшим кодом. Вопщем дано небольшое пустое поле(mas),в каком то месте поля ставим символ (например "А") и делаем возможность свободно двигать етот символ по полю.Если нажали клавишу...
C++ Рисование по экрану Доброго времени суток! Пытаюсь сделать размытие изображения на экране. В таймере делаю скриншоты и отрисовываю картинку (смещая каждый раз её в разные стороны на несколько пискселей) с... подробнее

Показать сообщение отдельно
moskitos80
61 / 61 / 10
Регистрация: 04.10.2011
Сообщений: 217
Завершенные тесты: 1

Множественное наследование в форме ромба - C++

27.07.2012, 15:46. Просмотров 914. Ответов 3
Метки (Все метки)

Всем привет. Объясните пожалуйста почему так происходит: есть некое древо иерархии классов в виде ромба:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
////////////////////////////////////////////////////////////////
class A 
{
   public:
      void func(void){} 
};
class B : public A 
{};
class C : public A 
{};
class D : public B, public C 
{};
////////////////////////////////////////////////////////////////
int main() 
{
   D objD;
   objD.A::func();  // Компилятор ругается: `A' is an ambiguous base of `D' 
   return 0;
}
Лафоре пишет, что классы В и С содержат в себе копии метода func(), унаследованные от класса А, и компилятор не может решить какой из методов использовать, но я же конкретно указал: objD.A::func() - чего ему ещё не хватает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru