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

Наследование переменных от интерфейса - C++

Восстановить пароль Регистрация
 
Andreyasu
2 / 2 / 0
Регистрация: 02.07.2009
Сообщений: 52
26.05.2013, 19:00     Наследование переменных от интерфейса #1
Задача на засыпку
Почему так работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <class T>
class A
{
public:
A():a(19),b(&a){};
virtual void get()=0;
int a;
int *b;
};
 
 
class B: public A<int>
{
public:
B(): b( *(A<int>::b) )  {};
void get() {cout<<b<<endl;};
int a;
int b;
};
а так нет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <class T>
class A
{
public:
A():a(19),b(a){};
virtual void get()=0;
int a;
int b;
};
 
 
class B: public A<int>
{
public:
B(): b( &(A<int>::b) )  {};
void get() {cout<<*b<<endl;};
int a;
int *b;
};
в первом случае переменная b в классе интерфейсе A указатель, а в классе наследнике B, b это значение инициализируемое при конструкторе значением переменной b из класса A;
Во втором случае наоборот в классе B указатель а в A переменная.
Почему не проходит оператор получения адреса ?
B(): b( &(A<int>::b) ) {};
[bcc32 Error] : E2034 Cannot convert 'int A<int>::*' to 'int *'
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Desu_Is_A_Lie
 Аватар для Desu_Is_A_Lie
62 / 62 / 3
Регистрация: 26.02.2012
Сообщений: 114
26.05.2013, 19:13     Наследование переменных от интерфейса #2
В VS2012 собирается и работает без проблем. Косяк BCC?
Andreyasu
2 / 2 / 0
Регистрация: 02.07.2009
Сообщений: 52
26.05.2013, 19:13  [ТС]     Наследование переменных от интерфейса #3
xe4 последняя стоит, жалко что она так((
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
26.05.2013, 21:42     Наследование переменных от интерфейса #4
MinGW, VS - без проблем
Andreyasu
2 / 2 / 0
Регистрация: 02.07.2009
Сообщений: 52
26.05.2013, 22:41  [ТС]     Наследование переменных от интерфейса #5
Всем спасибо большое , очень плохо придется искривлять код что бы обойти по другому)
Yandex
Объявления
26.05.2013, 22:41     Наследование переменных от интерфейса
Ответ Создать тему
Опции темы

Текущее время: 06:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru