Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
7 / 5 / 2
Регистрация: 22.04.2015
Сообщений: 27
1

private наследование enum

13.11.2019, 12:30. Просмотров 1221. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Pixel1 {
 
 public:
    enum Color { black, blue, green, red = 4, yellow = 14, white = 15 } ;
 
public:
    Pixel( int64_t = 0, int64_t = 0,  const Color & = black ) ;
    inline Pixel::Pixel( int64_t x, int64_t y, const Color &clr )
                 :Point::Point( x, y ), c( clr ) {}
} ;
 
 
class Pixel2 : private Pixel1 {
 
private:
    Pixel2( int64_t = 0, int64_t = 0,  const Color & = black );
    inline Pixel2::Pixel2( int64_t x, int64_t y,  const Color & clr ) {
                Pixel( x, y,  clr ) ;
    }
 
} ;
 
Как правильно переписать enum в наследнике? Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2019, 12:30
Ответы с готовыми решениями:

Private наследование
Добрый вечер, почему приходится подставлять явно ссылку на базовый класс - компилятор скушал -...

Наследование со спецификатором доступа private
Вопрос состоит в следующем. Если базовый класс наследуется со спецификатором доступа private,...

Private/protected/public наследование
Есть такой код: class Base { public: int publicX; protected: int protectedX; private:

private наследование и виртуальный метод
Привет! Тут хотел бы спросить такой вопрос. Есть базовый класс с виртуальным методом в protected...

1
Модератор
Эксперт С++
10228 / 8556 / 5188
Регистрация: 18.12.2011
Сообщений: 22,878
13.11.2019, 12:42 2
Лучший ответ Сообщение было отмечено Unsaid как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdint.h>
class Pixel {
 
protected:
    enum Color { black, blue, green, red = 4, yellow = 14, white = 15 };
 
public:
    Pixel(int64_t = 0, int64_t = 0, const Color & = black);
};
 
class Pixel2 : private Pixel {
 
public:
    Pixel2(int64_t = 0, int64_t = 0, const Color & = black);
};
 
inline Pixel::Pixel(int64_t x, int64_t y, const Color &clr) {}
 
inline Pixel2::Pixel2(int64_t x, int64_t y, const Color & clr) : Pixel(x, y, clr) {}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2019, 12:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

А где вы используете private наследование?
Private наследование позволяет реализовать отношение содержит, т.е. почти то же, что и встроить...

А где вы используете private наследование?
Насколько я знаю то при приватном наследовании наследник ничего от родительского класса не...

Наследование классов и обращение к Private/Static
Здравствуйте! У меня возникла проблема при попытке унаследовать параметры класса... У меня есть 2...

Зачем нужно private наследование в классах?
Если можно, то покажите небольшой пример


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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