@weidmann
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 20
|
|
|
06.12.2013, 00:19. Просмотров 188. Ответов 0
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; }
} |
|
Может есть способы получше или какие-то альтернативы?
0
|