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

Полиморфизм и освобождение памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для матрицы размером m x n вычислить сумму элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread377108.html
Доброго всем времени! Есть задачка: Для матрицы размером m x n вычислить сумму элементов матрицы. Умножить на это число элементу k-той строки. Значение k вводится. Исходная матрица задается...
C++ Массив указателей на строки Здравствуйте! В общем нужно передать в функцию массив строк (чистый C) Как правильнее это сделать и в дальнейшем обработать в самой функции. Примерно так: void func (char *p) {} или void func... http://www.cyberforum.ru/cpp-beginners/thread377098.html
C++ Подскажите пожалуйста какие ошибки здесь есть - или что не соблюдено.
Доброе утро! Я начинаю только осваивать программирование.Читаю - решаю задачи - пытаюсь разбираться в ошибках. Написал программу с циклами - идея такая - вводят оценки от 0 до 100...
Приложение WinApi на C++ C++
После компиляции выводит следующее сообщение "Необработанное исключение в "0x7672828c" в "Диспетчер.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc"."
C++ Рекурсивная функция определения палиндрома строки. http://www.cyberforum.ru/cpp-beginners/thread377056.html
Написал по заданию из книги Дейтелов. bool testPalindrome( const char arr, const size_t &x, const size_t &y = NULL ) { if ( x == y || ( x + 1 == y && arr == arr )) return true; if ( arr...
C++ требуется помощь Помогите, пожалуйста, переписать "Косынку" в С++ на C#. Очень надо. Помогите, люди добрые. Буду очень благодарен. Спасибо. подробнее

Показать сообщение отдельно
oxotnik
1590 / 1067 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
03.11.2011, 11:43
модернизированный пример:

Код
class A
{
public:
    A(){cout<<"A()"<<endl;}
    ~A(){cout<<"~A()"<<endl;}
};

class B : public A
{
    char *a;
public:
    B()
    {
        cout<<"B()"<<endl;
        a = new char[1024];
        cout<<"a = new char[1024];"<<endl;
    }
    ~B()
    {
        cout<<"~B()"<<endl;
        delete[] a;
        cout<<"delete[] a;"<<endl;
    }
};

int main (void)
{
    B *b = new B();
    A *a = dynamic_cast<A*>(b);
    delete a;

    return 0;
}
вывод:
A()
B()
a = new char[1024];
~A()
удаления данных в B нету - утечка
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru