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

Присваивание при полиморфизме - 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 double**, int);
C++ Блок-схема Дан вещественный массив vector <float> D5. Занести в массив данные с помощью указателей, определить сумму и количество элементов, вывести на экран полученный массив и адреса элементов. #include <iostream> #include <conio.h> using namespace std; void main() { const size_t SIZE = 10; float* vector = new float; float *p; 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 <boost/gil/gil_all.hpp> #include <boost/gil/extension/io/png_dynamic_io.hpp> // еще куча всего // и далее важная часть static void x_gradient_qt(const boost::gil::gray8c_view_t &src,...
C++ Ошибки в программе http://www.cyberforum.ru/cpp-beginners/thread1059703.html
Помогите,пожалуйста, исправить ошибки в задании лабы. Нужно во второй строке найти сумму и количество целых чисел #include <iostream> #include <string> #include <stdio.h> #include <stdlib.h> #include <cstring> using namespace std; void main() { setlocale(0,"Russian");
C++ Не могу собрать программу для Raspbian Помогите собрать программу для Debian (Raspbian) Есть исходники main.c /*Windows #include <cstdlib> #include <iostream> #include <usb.h> */ подробнее

Показать сообщение отдельно
DU
1480 / 1056 / 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru