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

Наследование - вызов конструкторов и деструкторов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему перегруженные операторы ввода/вывода нельзя сделать членами класса? http://www.cyberforum.ru/cpp-beginners/thread1567870.html
Добрый вечер, Решаю домашнее задание, и вот вопрос возник. Создал класс и перегрузил ввода/вывод. Но не нашел информации почему перегрузки ввода/вывода friend. Почему функция не может быть просто istream& operator>> ,а обязательно через friend? friend istream& operator>>(istream& istr, shaverma& sh){ cout << endl; cout << "Name of shaverma: " ; istr >> sh.name; cout << "Weight...
C++ Найти площадь заштрихованной области Всем Доброго Времени суток. Мне в техникуме дали задание (прикреплено), и я почему-то совсем не могу понять как это решить... знания в программированию не самые худшие, а во о в математике... http://www.cyberforum.ru/cpp-beginners/thread1567862.html
C++ Оператор взятия адреса
Доброй ночи, оператор взятия адресса не перечислен среди Special member functions, но он реализуется компилятор по умолчанию, если его не реализовать явно. #include <iostream> using namespace std; class A
C++ Алгоритм поиска пути и прорисовка его
Есть класс Карта #ifndef MAP_H #define MAP_H #include <SFML\Graphics.hpp> class Map{ private: int m_level; public:
C++ Undeclared identifier (cout, endl, cin) http://www.cyberforum.ru/cpp-beginners/thread1567849.html
#include "iostream" #include "stdafx.h" #include "cmath" #include "cstdio" using namespace std; int main(void) { int v; cout <<"Vvedite vozrast: "<<endl;
C++ Графы.Список смежности. Поиск в глубину Разработать программу, которая читает числа N, M - кол-во вершин и рёбер графа. Программа сохраняет граф в виде списка смежности и выполняет поиск в глубину. На экран нужно вывести вершины в порядке обхода, для каждой указать время начала и конца рассмотрения и указать предка в дереве обхода подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14459 / 6443 / 1020
Регистрация: 02.05.2013
Сообщений: 10,681
Завершенные тесты: 1
04.11.2015, 12:59     Наследование - вызов конструкторов и деструкторов
Ладно, я поясню на примере:
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
#include <cstdio>
 
struct base
{
    virtual ~base() {}
};
 
struct child : base
{
    ~child()
    {
        printf("child destructor\r\n");
    }
};
 
struct grandchild : child
{
    ~grandchild()
    {
        printf("grandchild destructor\r\n");
    }
};
 
int main()
{
    base * Child = new child();
    base * GrandChild = new grandchild();
    delete GrandChild;
    delete Child;
    return 0;
}
> grandchild destructor
> child destructor
> child destructor
P.S. Ни у child, ни у grandchild деструктор не объявлен virtual.
 
Текущее время: 00:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru