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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Eugen-S
 Аватар для Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
16.04.2012, 12:18     Закрытое наследование #1
Добрый день, форум
Помогите разобраться:

Базовый класс 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;  //Вот тут подчеркивает знак присвоения и пишет ошибку которую написал выше( 
 
}
пробовал добавлять переменную в разных местах, не понимаю в чем проблема(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
16.04.2012, 12:21     Закрытое наследование #2
Цитата Сообщение от Eugen-S Посмотреть сообщение
int how=0;
правильно пишет, он вам написал, перевожу
в классе можно инициализировать только константные статические члены
делайте инициализацию в конструкторе. Вам нужно почитать про классы, наследование тут непричем
Eugen-S
 Аватар для 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
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
16.04.2012, 13:05     Закрытое наследование #4
Цитата Сообщение от Eugen-S Посмотреть сообщение
сделал в конструкторе переменную how=0
после выхода из конструктора переменная уничтожается, может стоит ее сделать членом класса?
Eugen-S
 Аватар для Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
16.04.2012, 13:23  [ТС]     Закрытое наследование #5
ну так.. у меня это и не получалось сделать( изначально...

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

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

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