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

Лишнее удаление родителя при создании класса наследника - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка операторов при работе с матрицей http://www.cyberforum.ru/cpp-beginners/thread1211106.html
Ребята, помогите пожалуйста исправить ошибку. У меня в программе вроде не работает два оператор-функции. С ними работаю первый раз. За грубейшие ошибки извиняюсь. :( Вот моя программа: #include "stdafx.h" #include <iostream> using namespace std; class Matrix
C++ Сохранение данных массива из файла в виде матрицы В файле данные одномерного массива, нужно эти данные сохранить в другой файл в виде матрицы 3x5, подскажите как это сделать. Пишу курсач, застрял на этом моменте. Вот код который написал: #include <windows.h> #include <iostream> #include <fstream> #include <string> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1211088.html
В главной функции ввод двумерного массива с файла и вывод полученных результатов в конец входного файла C++
Составить программу на языке C++, состоящую из двух функций с использованием указателей. В главной функции выполнить ввод двумерного массива с файла и вывод полученных результатов в конец входного файла. В вызываемой функции выполнить обработку двумерного массива. Дана матрица n на n. Сформировать новую матрицу n+1 на n+1, где n+1 столбцом является min каждой строки, а n+1 строкой — max...
C++ Вычислить значение выражения
Составить программу на языке С++ для обработки одномерных массивов с использованием указателей: 1. Ввести n элементов одномерного массива с входного файла; 2. Вычислить указанное выражение; 3. Вывести значение указанного выражения в выводной файл.
C++ C++ обработка двумерного массива с использованием указателей и входных и выходных файлов http://www.cyberforum.ru/cpp-beginners/thread1211056.html
Составить программу на языке C++ для обработки двумерных массивов с использованием указателей и входных и выходных файлов. Дана матрица n на n. Сформировать новую матрицу n+1 на n+1, где n+1 столбцом является min каждой строки, а n+1 строкой — max каждого столбца; последний элемент а равен сумме max строк и min всех столбцов. Исходный код: #include <iostream> using namespace std; ...
C++ Выравнивание строк до заданной длины Нужно выровнять строку по правому краю до заданной длины. #include <iostream> #include <string> using namespace std; void pad(string& s, int len) { if (s.length() >= len) return; s.insert(s.begin(), len - s.length(), ' '); подробнее

Показать сообщение отдельно
kylroma
Одессит
 Аватар для kylroma
44 / 44 / 18
Регистрация: 30.12.2013
Сообщений: 203
Записей в блоге: 1
Завершенные тесты: 1
18.06.2014, 09:50     Лишнее удаление родителя при создании класса наследника
Не могу понять откуда в выводе программы появляется первая надпись "delete A". По идее надписей "delete" должно быть столько же, сколько и "create". Или я не прав?

Лишнее удаление родителя при создании класса наследника

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
32
33
#include <iostream>
 
 
class A{
private:
    int a;
public:
    A(){std::cout << "create A()\n";};
    A(int aa): a(aa){std::cout << "create A = " << a << std::endl;};
    ~A(){std::cout << "delete A\n";}
    void Show(){std::cout << "A = " << a << std::endl;}
 
};
 
class B{
private:
    A b;
public:
    B(){std::cout << "create B()\n";};
    B(A bb): b(bb) {std::cout << "create B\n";};
    ~B(){std::cout << "delete B\n";};
    void ShowB(){b.Show();}
};
 
int main()
{
    B d(5);
   // A c(7);
    //c.Show();
    //d.ShowB();
    std::cout << "***********" << std::endl;
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru