Форум программистов, компьютерный форум, киберфорум
Наши страницы

Присваивание при полиморфизме - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Умножение матриц http://www.cyberforum.ru/cpp-beginners/thread1059735.html
#include <iostream> #include <math.h> #include <conio.h> #include <fstream> #include <stdio.h> #include <iomanip> #include <windows.h> #include <iostream> using namespace std; int det(long...
C++ Блок-схема Дан вещественный массив vector <float> D5. Занести в массив данные с помощью указателей, определить сумму и количество элементов, вывести на экран полученный массив и адреса элементов. #include... http://www.cyberforum.ru/cpp-beginners/thread1059723.html
C++ обработка исключительных ситуаций
Помогите найти задания для лабораторных по исключительным ситуациям. Буду очень благодарен!! примерно такое нужно: Решить систему уравнений методом Гаусса. Генерировать исключ. ситуации в случае...
C++ boost::gil png.h No such file or directory
Беда (: Вообщем есть проект на Qt и хочу сделать общие алгоритмы обработки изображений используя boost::gil. Приведу код: #include <QHBoxLayout> #include <QLabel> #include <QImage> #include...
C++ Ошибки в программе http://www.cyberforum.ru/cpp-beginners/thread1059703.html
Помогите,пожалуйста, исправить ошибки в задании лабы. Нужно во второй строке найти сумму и количество целых чисел #include <iostream> #include <string> #include <stdio.h> #include <stdlib.h>...
C++ Не могу собрать программу для Raspbian Помогите собрать программу для Debian (Raspbian) Есть исходники main.c /*Windows #include <cstdlib> #include <iostream> #include <usb.h> */ подробнее

Показать сообщение отдельно
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
29.12.2013, 02:19
тут хитрая вещь может получится. если в иерархии появляется еще один класс C унаследованный от A, то может оказаться так, что мы пытаемся присвоить объекту типа C значение объекта типа B. причем B про С вроде как и не знает. с виртуальными операторами тут лучше не связываться. Решение в лоб: в точке присваивания, раз вы точно знаете типы, скастить ссылку к нужным типам их и вопспользоваться родным оператором:
C++
1
static_cast<B&>(*b1)=static_cast<B&>(*b2);
ну или dynamic_cast если нужна проверка и есть RTTI
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru