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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
#1

Закрытое наследование - C++

16.04.2012, 12:18. Просмотров 1357. Ответов 4
Метки нет (Все метки)

Добрый день, форум
Помогите разобраться:

Базовый класс vector и от него наследую допустим "очередь" , и.. когда хочу в очереди создать переменную интовую, пишет :

'queue::how' : only static const integral data members can be initialized within a class


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class vector
{
private:
 int a,b;
public:
int get();
int set();
}
 
class queue:private vector
{
public:
int get();
int set();
 
private:
int how=0;  //Вот тут подчеркивает знак присвоения и пишет ошибку которую написал выше( 
 
}
пробовал добавлять переменную в разных местах, не понимаю в чем проблема(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2012, 12:18     Закрытое наследование
Посмотрите здесь:

Закрытое наследование - C++
Помогите, пожалуйста, ответить на такой вопрос: Что такое переопределение методов (в производном классе)? Продемонстрировать его...

закрытое наследование - C++
Объясните, плиз. Заранее спасибо В классе Base поле X находится в части private, производный класс объявлен так: class Derived:...

Закрытое наследование. Вывод строки - C++
Здравствуйте. Необходимо вывести элемент класса std::string в данном случае: class Wine : protected Pair, private string { int...

Закрытое наследование, как добраться до функции? - C++
Всем привет! Собственно, я никак не могу понять, как мне использовать функцию sum(), класса valarray, находящегося в pair при закрытом...

Виртуальные базовые классы/закрытое наследование - C++
Хотел уточнить правильно ли я понял материал. Если я породил два класса через виртуальное, открытое наследование от одного базового класса,...

Вместо включения используйте закрытое наследование - C++
Здравствуйте. Изучаю С++ по книге Прата С. "Язык программирования С++. Лекции и упражнения". Столкнулся с проблемой. Есть задание:...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
16.04.2012, 12:21     Закрытое наследование #2
Цитата Сообщение от Eugen-S Посмотреть сообщение
int how=0;
правильно пишет, он вам написал, перевожу
в классе можно инициализировать только константные статические члены
делайте инициализацию в конструкторе. Вам нужно почитать про классы, наследование тут непричем
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
16.04.2012, 12:48  [ТС]     Закрытое наследование #3
блин, точно! спасибо!)
а еще вот..

я сделал наследование, и в производном классе у меня:

C++
1
2
3
4
    int getsize()
    {
        return vector::getsize();
    }
это правильно? ну.. работает всё, но просто интересно, правильно ли работаю с методами.

Добавлено через 5 минут
ну вот, и опять проблема.. не могу разобраться(

сделал в конструкторе переменную how=0, но в методах этого класса не могу её менять.. через this-> - how не видит... и не знаю что делать вариант - написать метод который будет работать с этой переменной? или так не пойдет?
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
16.04.2012, 13:05     Закрытое наследование #4
Цитата Сообщение от Eugen-S Посмотреть сообщение
сделал в конструкторе переменную how=0
после выхода из конструктора переменная уничтожается, может стоит ее сделать членом класса?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 13:23     Закрытое наследование
Еще ссылки по теме:

Пояснить, почему в примере не рекомендуется использовать закрытое наследование - C++
Всем доброго времени суток ! Помогите пожалуйста разобраться с этой фразой на примере . То что я знаю про закрытое наследование ,...

Как используя закрытое наследование использовать 2 объекта базового класса? - C++
Доброго времени суток. Учусь по книге "Прата С. Язык программирования C++. Лекции и упражнения. Не могу понять упражнение...(глава 14,...

Открытое и закрытое хеширование - C++
Не могли бы Вы привести примеры простеньких программ, чтобы я разобрался. Допустим есть строка(массив) символов и нужно его прохешировать...

Закрытое хеширование с двойным опробованием - C++
Помогите, пожалуйста! Очень нужна ХЕШ-функция с двойным хешированием. В интернете информации очень мало, ни одного примера. Реализация на...

Написать определение класса leverage, включающего одно закрытое поле типа int с именем crowbar и одним открыты - C++
Напишите определение класса leverage, включающего одно закрытое поле типа int с именем crowbar и одним открытым методом с прототипом void...

Наследование - C++
Всем доброго времени суток! Начали изучать наследование, вроде все и понятно, но и с другой стороны нет(((( Вот вопрос: есть сразу...


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

Или воспользуйтесь поиском по форуму:
Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
16.04.2012, 13:23  [ТС]     Закрытое наследование #5
ну так.. у меня это и не получалось сделать( изначально...

Добавлено через 2 минуты
по плану моему, в классе нужна переменная, и при вызове метода "гет" он будет делать how++) но почему-то не хочет добавляться она в класс(

Добавлено через 4 минуты
блин, всё, извиняюсь. Видимо просто не проснулся, понял что туплю)) сделал уже))
Yandex
Объявления
16.04.2012, 13:23     Закрытое наследование
Ответ Создать тему
Опции темы

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