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

Скопировать объект, на который ссылается указатель на абстрактный класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Немного философии ООП http://www.cyberforum.ru/cpp-beginners/thread1808784.html
На днях на работе возник холивар с коллегами, к правильному решению пришли только на следующий день, почитав Мейерса и Саттера (один из участников холивара уже знал о правильном решении, но сторонников неправильного было большинство). Рекомендаций от упомянутых гуру пока не говорю, предлагаю поразмышлять) Итак - есть проект, в проекте используется ООП, скатываться до С считается мовитоном и...
C++ OpenCV захват видео с веб-камеры Начал изучать OpenCV. В просторах интернета нашел данный код: #include <cv.h> #include <highgui.h> #include <stdlib.h> #include <stdio.h> int main(int argc, char* argv) { // получаем любую подключённую камеру CvCapture* capture = cvCreateCameraCapture(CV_CAP_ANY); //cvCaptureFromCAM( 0 ); http://www.cyberforum.ru/cpp-beginners/thread1808506.html
Как компилятор обрабатывает член класса static constexpr const char* C++
Привет! Наткнулся на непонятный момент class Foo { public: static constexpr const char* PTR = "value"; }; без constexpr не компилируется. Вопрос - как компилятора без линкера разруливает это дело, ведь constexpr value ему нужен на этапе компиляции? Если он это пережевывает, почему тогда constexpr необходим?
C++ Получить график дат санитарных дней в указанном году
задача: Городской рынок имеет санитарный день каждый понедельник месяца . Дано номер года и указано день недели , на который приходится 1 января. Получить график дат санитарных дней в указанном году. Помогите пожалуйста решить задачу
C++ Распознование животных на изображении http://www.cyberforum.ru/cpp-beginners/thread1807414.html
Стала интересна тема распознавания образов на изображениях. Программа должна получать картинку с животным и определить какое это животное(как я понимаю, задача не простая, но все же) . Подскажите в какую сторону копать, какие есть статьи/книги/сайты посвященные этой теме. Слышал про OpenCV, но я уверен, что есть еще что-то похожее.
C++ Как подружить компьютер c МК через USB Здравствуйте, уважаемые форумчане! Никогда не работал с USB нужна помощь. Есть компьютер под управлением Windows 7, плата разработки DE0-Nano-SoC. Необходимо написать программу для ОС, которая могла бы определять плату как USB устройство. В DE0-Nano-SoC есть два USb-интерфейса UART to USB (COM-порт) и USB OTG (FT232R). Думаю подключать через USB OTG. Пишу как в Microsoft Visual Stidio... подробнее

Показать сообщение отдельно
JonyCage
0 / 0 / 0
Регистрация: 18.08.2016
Сообщений: 4
20.09.2016, 16:44  [ТС]     Скопировать объект, на который ссылается указатель на абстрактный класс
Спасибо за помощь, но хотелось бы еще одно уточнение по поводу освобождения выделенной памяти. Теперь у меня есть все необходимые классы, для которых программа работает корректно. Но когда я освобождаю память :

C++
1
2
3
Expression *e=new Number(4);
 
delete e;
все упирается в деструктор Number. Я описал виртуальный деструктор у класса Expression, и он вызывает деструкторы всех объектов, указанных в "выражении". Но вот вопрос : как должен выглядеть деструктор класса Number, чтобы освобождать выделенную под его объекты память. Я же использую указатель на объект, и выделяю для него память. Или же деструктор по умолчанию справится с этой задачей. Хотелось бы прояснить этот механизм. Вот класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Number:public Expression
{
private:
    float n;
public:
    Number (float nn):n(nn){}
    ~Number(){std::cout<<"num des\n";}
 
    Expression *diff(){return new Number(0);} 
 
    Expression *clone(){return new Number(n);}
 
    void print(){std::cout<<n;}
 
};
Благодарю.
 
Текущее время: 05:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru