Форум программистов, компьютерный форум 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 - кол-во вершин и рёбер графа. Программа сохраняет граф в виде списка смежности и выполняет поиск в глубину. На экран нужно вывести вершины в порядке обхода, для каждой указать время начала и конца рассмотрения и указать предка в дереве обхода подробнее

Показать сообщение отдельно
m45
0 / 0 / 0
Регистрация: 06.07.2015
Сообщений: 22
09.11.2015, 10:22  [ТС]     Наследование - вызов конструкторов и деструкторов
Цитата Сообщение от Fallenworld Посмотреть сообщение
конструктор сам вызывает консруктор базового класса. И только без параметров. Все остальное надо пилить самому
Тогда так:
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
#include <iostream>
using namespace std;
 
 
 
class hierarchy_level_1 {
public:
    hierarchy_level_1() {cout << "hierarchy_level_1. costructor." << endl; }
    ~hierarchy_level_1() {cout << "hierarchy_level_1. destructor." << endl; }
};
 
 
class hierarchy_level_2: public hierarchy_level_1 {
public:
    hierarchy_level_2() {cout << "hierarchy_level_2. costructor." << endl; }
    ~hierarchy_level_2() {cout << "hierarchy_level_2. destructor." << endl; }
};
 
void main() {
    cout << endl << endl; 
 
    hierarchy_level_1 *ob1 = new hierarchy_level_2;
    delete ob1;
 
    cout << endl << endl; system("pause");
}
Выдает:
hierarchy_level_1. costructor.
hierarchy_level_2. costructor.
hierarchy_level_1. destructor.
И опять - оба конструктора вызвались, а деструкторов вызвалось только один.
 
Текущее время: 19:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru