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

Копирующий конструктор абстрактного класа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Полиморфизм в с++ http://www.cyberforum.ru/cpp-beginners/thread1039316.html
Вообщем я делал программу,изначально в ней было реализовано наследование.Затем дали задание реализовать полиморфзим для функции Scale для классов сфера и паралепипед.Делал все ,как обьясняли в колледже,однако возникает ошибки при обращении к функциям и обьектам в файле где основная програма.Помогите испрвить пожалуйста.Виртуальная фунцкия обьявлена в родительском классе Object. #pragma once ...
C++ Шейкерная сортировка Неправильно сортирует шейкерной сортировкой, почему-то не хочет проходить справа на лево массив, мне так кажется. Потому что начало хорошее - наименьшее число перемещается в первую позицию, а дальше что-то не так :(. #include <stdio.h> #include <conio.h> #include <time.h> #include <stdlib.h> #include <alloc.h> #define ESC 27 void shake (int *x, int k,int s) { int... http://www.cyberforum.ru/cpp-beginners/thread1039310.html
C++ Создать объект - очередь с перегруженными операциями
Будьте добры помочь( Задание 1. Унарная операция Создать объект - очередь с перегруженными операциями ++ как функциями-членами, -- как дружественными функциями. (Как постфиксными так префиксными). одна тема - одна задача, читайте правила форума Заранее спасибо!
Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные C++
нужно составить текст программы, которая позволяет по введенной строке поменять первые буквы каждого слова на прописные. Вывести на экран символьную строку до и после изменения. p.s:знаю только как на паскале написать, а нужно на С++; приветствую любую помощь
C++ Двумерный массив в степени http://www.cyberforum.ru/cpp-beginners/thread1039271.html
Ребят, задание на фото. Вроде сделал как надо, но ругается на перегруженную функцию pow.. помогите исправить.. #include <iostream> // бибилиотека ввода/вывода #include <iomanip> // библиотека для setw (ширина поля) #include <math.h> // библиотека математических функций using namespace std; // объявление std, чтобы не писать дальше в коде int main () // начало главной функции { setlocale...
C++ Двухмерный массив Как в двухмерном массиве выделить, а точнее работать с элементами массива которые находятся до главной диагонали. Вопрос в том как сделать главную диагональ НЕ квадратного массива? Добавлено через 20 минут Help me or not????? Добавлено через 1 час 23 минуты Help help help подробнее

Показать сообщение отдельно
xajker
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 12
12.12.2013, 21:45     Копирующий конструктор абстрактного класа
Добрый вечер. Сразу к делу.
Есть абстрактный класс:

C++
1
2
3
4
5
6
7
8
9
10
11
12
class Product abstract
{
protected:
    int lipids;
    string brand;
 
public:
    Product();
    Product(int _lipids, string _brand);
    virtual void show() abstract;
    virtual void input() abstract;
};
есть производный класс:

C++
1
2
3
4
5
6
7
8
9
10
11
class Milk: public Product
{
protected:
    int capacity;
 
public:
    Milk();
    int getLipids();
    virtual void show() override;
    virtual void input() override;
};
есть третий "вспомогательный" класс, который своим полем имеет контейнер Queue<Product> queue (очередь тоже сам писал).
У этого класса есть метод:

C++
1
2
3
4
5
6
7
void Presenter::createMilk()
{
    Milk *milk = new Milk();
    milk->input(); //заполняет поля класа
    Product *pr = dynamic_cast<Product*>(milk);
    queue.push(*pr); // ERROR!!!
}
И вот в обозначенной строчке ошибка
"no suitable user-defined conversion from <Product> to <Product> exist"

Слышал что нужно конструктор копирования сделать для абстрактного класса, но не совсем понимаю зачем. Помогите разобраться и подскажете как правильно реализовать это.
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru