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

Есть ли смысл в privet конструкторах и деструкторах? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оператор delete http://www.cyberforum.ru/cpp-beginners/thread842261.html
Вчера заметил, но ответа в сети так и не нашел: int *i = new int(5); cout << *i << endl; delete i; int p = *i; cout << p << endl; Выводит: 5 0. Но если использовать, например, массивы - то можно будет скопировать все содержимое после удаления. Что делает delete? Просто информирует систему о том, что блок памяти больше не используется?
C++ Разносторонний тупоугольный треугольник Задали задачу, не знаю как решить(. Введите 3 числа. Если они могут быть длинами сторон разностороннего тупоугольного треугольника, выведите их в порядке возрастания и вычислите площадь полученного треугольника. Помогите на С++ пожалуйста!!!!!!!!!!! http://www.cyberforum.ru/cpp-beginners/thread842247.html
Одномерные массивы (Получить x1y1+...+xsys, где x1,...,xp) C++
Задание: Даны действительные числа r1,...,r17, среди которых заведомо есть как отрицательные, так и неотрицательные. Получить x1y1+...+xsys, где x1,...,xp - отрицательные члены последовательности r1,...,r17, взятые в порядке их следования, y1,...,yq - неотрицательные члены, взятые в обратном порядке, s=min(p,q). Написал код, но с ошибками... Прошу помочь! Заранее спасибо! #include...
C++ вызов метода, инициализация переменной
есть метод M( ) int M(int &a) - как его теперь вызвать?
C++ Программа не обрабатывает последний символ http://www.cyberforum.ru/cpp-beginners/thread842231.html
Вот такая программка. Должна она получать строку и выражение заключенное в ]] обрабатывать. Должна числа встречающиеся записывать в один массив, а символы в другой. все вроде работает, только если последнее число многозначное, последнюю в нем цифру не обрабатывает. т.е. ]] обрабатывает ]] шестерку не обрабатывает помогите разобраться! #include <cstdlib> #include <iostream> #include...
C++ class List class List { private: struct LStruct { LStruct *m_pNext; int info; }; LStruct *m_pHead; public: подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
19.04.2013, 11:57     Есть ли смысл в privet конструкторах и деструкторах?
Сделав приватный деструктор можно удалять объект только в функциях-членах.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class A
{
public:
    void destroy()
    {
        delete this;
    }
private:
    ~A() { }
};
 
int main()
{
    A *a = new A();
    a->destroy();
 
    A a1; // нельзя
    A *a2 = new A();
 
    delete a2; // нельзя
}
Таким макаром и на стеке объект не получится создать.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru