Как явно привести базовый класс к дочернему? void SplitString(int choice)
{
char string[100];
system("clear");
LevelHead("Тестирование","Строка-Идентификатор","Сложение строк");
cout > string;
Str_Indef strIndef(string);
strIndef = strIndef + (Str_Indef)pointClass[strArray[choice]];
strIndef.Print();
Pause();
}
/home/dikiigr/Desktop/Education/ЯВУ/Laba3/INHERIT/main.cpp|205|error: invalid conversion from ‘Stroka*’ to ‘char’ [-fpermissive]|
Здравствуйте, мне нужно привести родительский класс к дочернему , чтобы использовать перегруженный оператор дочернего класса. Не знаю как это реализовать. Господа знатоки , прошу вашей помощи .

21 Авг 2019 в 07:07
180 +1
1
Ответы
1

Чтобы явно привести базовый класс к дочернему, в вашем случае необходимо выполнить явное преобразование указателя на базовый класс к указателю на дочерний класс. Вот как это можно сделать в вашем коде:

void SplitString(int choice)
{
char string[100];
system("clear");
LevelHead("Тестирование","Строка-Идентификатор","Сложение строк");
cout << "Введите значение второго операнда" << endl;
cin >> string;
Str_Indef strIndef(string);
// Явное приведение указателя на базовый класс к указателю на дочерний класс
strIndef = strIndef + *((Str_Class*)pointClass[strArray[choice]]);
strIndef.Print();
Pause();
}

Здесь ((Str_Class*)pointClass[strArray[choice]]) означает явное приведение указателя pointClass[strArray[choice] к указателю на класс Str_Class. Обратите внимание, что перед выполнением такого преобразования необходимо удостовериться, что объект, на который указывает указатель, действительно является экземпляром класса Str_Class или его дочернего класса.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир