Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как организовать ввод в 2 вектора с консоли https://www.cyberforum.ru/ cpp-beginners/ thread2012413.html
Задание: В консоли,в одну строку вводятся через пробелы значения типа integer, надо занести их в 2 вектора. Количество значений в 1-м и 2-м векторе не известно до ввода. Конец последовательности для одного вектора определяется вводом "-1"(само значение "-1" в вектор не заносится). Пример:1 2 3 4 5 6 -1 2 -1 Вектор 1={1,2,3,4,5,6}; Вектор 2={2};
C++ Подключение библиотек в Visual Studio
Хочу подключить библиотеки DirectX (да и не только) к среде Visual Studio 2017, но не через свойства проекта и указания пути к библиотекам, а просто закинуть файлы в нужную папку. Чтобы не нужно было никаких путей указывать. Вот только не знаю в какую папку нужно кидать:(
C++ Проверить соответствие программы заданию https://www.cyberforum.ru/ cpp-beginners/ thread2012377.html
Здравствуйте. Я еще не очень разбираюсь в классах С++. Я даже не уверен в том, что правильно понял задание. Посмотрите пожалуйта, на мою програму, верна ли она? (задание снизу). И как можно реализовать часть 3 ? Вот мой код: #include <iostream> #include <string.h> #include <ctype.h> using namespace std;
C++ Ответить на вопросы об исключениях https://www.cyberforum.ru/ cpp-beginners/ thread2012375.html
1. Если деструктор выбрасывает исключение, то начинается неопределенное поведение. 2. Если конструктор выбрасывает исключение, то объект не создается. 3. При нехватке памяти выбрасывается bad_alloc. Если я где-то неправ, прошу указать на ошибку. Также интересует, что произойдет, если в обработчике исключения возникнет новое исключение?
C++ Посчитать количество дней между 1945 годом и 1 годом н.э
Пишу программу, которая будет считать количество дней между 2 годами( длее буду совершентствовать). Но сейчас задача следующая, посчитать кол-во дней между 1945 годом и 1 годом н.э. Проверяя на калькуляторах онлайн не сходится, теряю 18 дней. Сейчас прошу обратить внимание на функцию calculate в классе. Из того что нашел вот Другими словами, год является високосным в двух случаях: либо он кратен...
C++ Считывание из оперативной памяти и запись в массив https://www.cyberforum.ru/ cpp-beginners/ thread2012357.html
Говоря кратко, в массив записывает лишь первый раз - затем массив остаётся неизменным. Данные по адресу точно есть, (знаю, что запись без преобразований даст кракозябру, но не это важно сейчас) и потому содержимое массива должно меняться, но нет - ничего не происходит, сколько итераций не пропускай. Вопрос мой заключается в том, как записать из оперативной памяти содержимое модуля в...
C++ Ошибка компилятора или недостаток знаний https://www.cyberforum.ru/ cpp-beginners/ thread2012347.html
Недавно начал писать библиотеку, и сегодня когда мне нужно было в функции принимать rvalue, и заметил одну странность, в VS17 auto игнорирует указания rvalue, мне сразу стало интересно, зашёл в тестовый формат, и обнаружил вот что: При использование int a = 10; int& b = a; auto&& c = b; // компилятор говорит что это int& c; а не int&& c; он автоматически переделывает "с" в ссылку не...
C++ Создать файл, содержащий сведения о пациентах глазной клиники
а) Создать файл, содержащий сведения о пациентах глазной клиники. Информация такова: фамилия пациента, пол, возраст, место проживания (город), диагноз. б) Написать программу, выдающую следующую информацию: - количество иногородних, прибывших в клинику; - список пациентов старше Х лет с диагнозом У. Значения Х и У ввести с терминала. С++
C++ Как изменить значения в переданной функции строке? https://www.cyberforum.ru/ cpp-beginners/ thread2012339.html
void mystrlwr(char *x) { char x1='s'; *x = x1;//Здесь выдается исключение } int main() {
C++ Нужно ли знать С, чтобы освоить С++? https://www.cyberforum.ru/ cpp-beginners/ thread2012335.html
Доброго времени суток! Есть ли необходимость знать С, чтобы освоить С++?
Сохранение файла на уровне потока C++
Как из этой функции сохранения файла на уровне операционки сделать функцию сохранения файла на уровне потока? int Save(char* fileName, Data* Data_SAVE, int size_) { size_t size_dannye; FILE* file = fopen(fileName, "w+b"); fseek(file, 0, SEEK_SET); fwrite(&size_, sizeof(int), 1, file); for (int i = 0; i < size_; i++) {
C++ Создание манипулятора Как создать манипулятор, преобразующий массив символов при выводе из потока в массив тех же символов, но уже верхнего регистра? Например cout << up << "кибер"; Должно быть выведено "КИБЕР". https://www.cyberforum.ru/ cpp-beginners/ thread2012324.html
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 876
Записей в блоге: 10
0

Сложение объектов базового и наследуемых классов через виртуальную функцию - C++ - Ответ 10592535

01.07.2017, 19:34. Показов 1218. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно определить базовый класс с виртуальной функцией сложения. Кроме того перегрузка этой же виртуальной функции должна складывать экземпляры классов-наследников. Такое задание. Вроде бы.
Лучшее, что мне пришло в голову:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Base
{
public:
    virtual Base* add( const Base* rhs ) const;
...
};
 
 
class Derived1 : public Base
{
public:
    Base* add( const Base* rhs ) const override;
...
};
 
Base* Base::add( const Base* rhs ) const
{
    if( typeid( *rhs ) != typeid( Base ) )
        throw std::runtime_error(...);
    Base result = new Base(...);
    ...
    return result; // привет, потенциальные утечки памяти
}
 
Base* Derived1::add( const Base* rhs ) const
{
    if( typeid( *rhs ) != typeid( Derived1 ) )
        throw std::runtime_error(...);
    Derived1 result = new Derived1(...);
    ...
    return result; // те же утечки
}
Или можно было бы делать через std::unique_ptr, но в принципе хрен редьки не слаще.

Скажите, это действительно не самое продуманное задание или я туплю?

Вернуться к обсуждению:
Сложение объектов базового и наследуемых классов через виртуальную функцию C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2017, 19:34
Готовые ответы и решения:

Наследование static атрибута(хранение количества объектов наследуемых классов)
Есть абстрактный класс base, от него наследуются 3 класса child1 child2 child3. Создается множество...

Для описанной иерархии классов создать виртуальную функцию
Здравствуйте, прошу помощи. Нужно сделать задание, при этом, вид порождения побочных классов...

Вызов наследуемых методов из базового класса
Всем доброго времени суток, перейду сразу к сути. Код: class Base { protected: ...

Как через базовый класс вызывать виртуальную функцию во всех потомках?
Ну например, есть класс: class BATYANA { BATYANA(); virtual ~BATYANA(); ...

4
01.07.2017, 19:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2017, 19:34
Помогаю со студенческими работами здесь

Из трех наследуемых классов получить массив родителя
Всем мира! Не один раз вы меня выручали, помогите, пожалуйста и в этот раз. Расту. И вопросы...

Как правильно реализовать событие и подписку на него через несколько наследуемых классов?
Всё еще работаю над игрой Морской Бой в свободное время. И есть у меня такая структура: Game class,...

Занести из файла объекты производных классов в массив объектов базового класса
Здравствуйте. Что в этом коде изменить, чтобы объекты производных классов заносились из файла?...

Список наследуемых классов
Здравствуйте. Скажите пожалуйста можно ли получить список всех классов, которые наследуются от...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru