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

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

Войти
Регистрация
Восстановить пароль
 
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
#1

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

18.05.2014, 02:25. Просмотров 218. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Необходимо вывести элемент класса std::string в данном случае:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Wine : protected Pair, private string {
    int years;
public:
    Wine(const char* l, int y, const int* v, const int* b) :
    Pair(v, y, b, y), string(l)
    {
        years = y;
    }
    Wine(const char* l, int y) :
    Pair(y, y), string(l)
    {
        years = y;
    }
    void GetBottles();
    const char* Label() const
    {
        return (const string&)(*this).c_str(); //<- ВОТ ЗДЕСЬ
    }
    const int Sum() const;
    void Show() const;
    virtual ~Wine();
};
И надо ли там приводить к базовому типу string?
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2014, 02:25     Закрытое наследование. Вывод строки
Посмотрите здесь:

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

Закрытое наследование - C++
Добрый день, форум:) Помогите разобраться: Базовый класс vector и от него наследую допустим &quot;очередь&quot; , и.. когда хочу в очереди...

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

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

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

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

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

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

Наследование классов. Не работает вывод площади - C++
Не выводит площадь треугольника. От линии наследуется треугольник. Код прилагается #include&lt;iostream&gt; using namespace std; class...

Строки, наследование - C++
Задача: Мое решение: //9-2.cpp #include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std;


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
6992 / 4163 / 594
Регистрация: 29.11.2010
Сообщений: 11,045
18.05.2014, 03:04     Закрытое наследование. Вывод строки #2
А реализацию класса Pair предполагаете мы сами должны наваять?
C++
1
2
3
4
const char* Label() const
{
    return this->c_str(); //<- ВОТ ЗДЕСЬ
}
и так пойдёт, не понятно только зачем весь сей дикий ужас нужен, ну да дело ваше
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
18.05.2014, 03:14  [ТС]     Закрытое наследование. Вывод строки #3
MrGluck, реализация есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using ArrayInt = std::valarray<int>;
 
class Pair {
protected:
    ArrayInt vintage;
    ArrayInt amount;
public:
    Pair(const int* v, int vc, const int* a, int ac) :
    vintage(v, vc), amount(a, ac)
    {
    }
    Pair(int vc, int ac) :
    vintage(vc), amount(ac)
    {
    }
    virtual ~Pair();
};
Цитата Сообщение от MrGluck Посмотреть сообщение
ну да дело ваше
это просто выполняю требование задачи с учебника. Спасибо!
Yandex
Объявления
18.05.2014, 03:14     Закрытое наследование. Вывод строки
Ответ Создать тему
Опции темы

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