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

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

Войти
Регистрация
Восстановить пароль
 
Andreyasu
2 / 2 / 0
Регистрация: 02.07.2009
Сообщений: 52
#1

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

26.05.2013, 19:00. Просмотров 590. Ответов 4
Метки нет (Все метки)

Задача на засыпку
Почему так работает
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 *'
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2013, 19:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование переменных от интерфейса (C++):

Наследование интерфейса схожих классов (архитектура) - C++
Имеется класс абстрактных операций. В нем есть чисто виртуальный метод operate( AbstractObj * ) class Abstractperation{ public: ...

Наследование нескольких переменных - C++
Имеются 3 класса (computer, pc, pda). pc должен наследовать от computer 2 переменных, а pda от pc его 2 переменных и те 2 что он наследует...

Заменить наследование классов на наследование интерфейсов - C++
#include &lt;iostream&gt; #include &lt;assert.h&gt; using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Поменять местами значения целых переменных х и у не используя дополнительных переменных - C++
Знаю, что это очень простая задача, но никак не могу сделать, пожалуйста помогите!!! Поменять местами значения целых переменных х и у не...

Даны 5 переменных a,b,c,d,e - необходимо каждой из этих переменных присвоить число из текстового документа - C++
Есть у меня текстовый документ, в котором записаны 5 чисел. Каждое число в новой строчке. Предположим: 893 42 8 745 43 Даны 5...

Наследование интерфейса и наследование реализации - C#
Начал читать книгу GoF и сразу же в предисловии попал в тупик. Чем отличается наследование интерфейса от наследования реализации? Что такое...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Desu_Is_A_Lie
62 / 62 / 3
Регистрация: 26.02.2012
Сообщений: 114
26.05.2013, 19:13 #2
В VS2012 собирается и работает без проблем. Косяк BCC?
1
Andreyasu
2 / 2 / 0
Регистрация: 02.07.2009
Сообщений: 52
26.05.2013, 19:13  [ТС] #3
xe4 последняя стоит, жалко что она так((
0
Croessmah
Эксперт CЭксперт С++
13202 / 7473 / 839
Регистрация: 27.09.2012
Сообщений: 18,367
Записей в блоге: 3
Завершенные тесты: 1
26.05.2013, 21:42 #4
MinGW, VS - без проблем
1
Andreyasu
2 / 2 / 0
Регистрация: 02.07.2009
Сообщений: 52
26.05.2013, 22:41  [ТС] #5
Всем спасибо большое , очень плохо придется искривлять код что бы обойти по другому)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2013, 22:41
Привет! Вот еще темы с ответами:

Одновременное наследование от класса и интерфейса - C#
Как я понял в C# нельзя наследовать от нескольких классов, только от нескольких интерфейсов. Но у меня есть класс, который наследует уже...

Наследование интерфейса INotifyPropertyChanged классом с 2 свойствами - C#
Добрый вечер. Подскажите ,пожалуйста ,как при наследовании интерфейса INotifyPropertyChanged классом у которого есть 2 и более свойства...

Чем отличается наследование реализации от наследования интерфейса? - C#
Чем отличается наследование реализации от наследования интерфейса?

Наследование интерфейса без реализации дочерних методов - C#
Имеется интерфейс вида: public interface IRepository&lt;T&gt; where T: class { T GetById(int id); List&lt;T&gt;...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.05.2013, 22:41
Ответ Создать тему
Опции темы

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