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

Конфликт имён в ромбовидном наследовании - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Возможно ли сделать такой массив в c++ http://www.cyberforum.ru/cpp-beginners/thread1030405.html
Здравствуйте. Можно ли в С++ сделать динамический ассоциативный массив, вроде этого на Javascript: var cars = ; cars = ; cars = 'BMW'; cars = 20000; cars = ; cars = 'Aston Martin'; cars = 50000;
C++ Транслитерация c++ Здравствуйте, есть часть задания, где нужно реализовать замену кирилици на латинь (Ввод: дом, вывод: dom). Подскажите самый простой способ. http://www.cyberforum.ru/cpp-beginners/thread1030389.html
C++ Доделать программу
Помогите дорешать задачку, пожалуйста. Система из n материальных точек в пространстве задана с помощью последовательности действительных чисел x1,y1,z1,p1,x2,y2,z2,p2,......xn,yn,zn,pn-координаты i-ой точки,а pi-ее вес(i=1,2,....,n). Получить координаты центра тяжести системы. Мой код. В двумерном массиве mas строки - 4 параметра каждой координаты точки системы, столбцы - нумерация точек...
Конструктор копирования и оператор присваивания C++
Спасибо всем тем, кто заглянул на огонек. Проблема: Реализовать конструктор копирования и оператор присваивания для класса User. Вопрос: В чем разница между конструктором копирования и оператором присваивания? #ifndef MYSKYPE_H #define MYSKYPE_H #include <string> using namespace std;
C++ построить на экране Елку http://www.cyberforum.ru/cpp-beginners/thread1030376.html
1. построить на экране Елку
C++ разработать программу для построения графика функций 1. построить график функции y = x2 2. построить график функции y = sin x 3. построить график функции y = ln x 4. построить график функции y = 1/x2 подробнее

Показать сообщение отдельно
weidmann
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 20
06.12.2013, 00:19     Конфликт имён в ромбовидном наследовании
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
class A {
private:
int a;
public:
A(a0) : a(a0) {}
}
class B1 : virtual public A {
private:
int b;
int c;
public:
B1(a0, b0, c0) : A(a0), b(b0), c(c0) {}
}
class B2 : virtual public A {
private:
int b;
int d;
public:
B2(a0, b0, d0) : A(a0), b(b0), d(d0) {}
}
class C : public B1, public B2 {
public:
C(a0, b0, c0, d0) : A(a0), B1(a0, b0, c0), B2 (a0, b0, d0) { cout << b; }
}
В общем: "неоднозначный уровень доступа b".

Додумался только добавить в класс C собственное поле b:
C++
1
2
3
4
5
6
class C : public B1, public B2 {
private:
int b;
public:
C(a0, b0, c0, d0) : A(a0), B1(a0, b0, c0), B2 (a0, b0, d0), b(b0) { cout << b; }
}
Может есть способы получше или какие-то альтернативы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru