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

ООП - вопрос про деструктор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Таймеры не работают http://www.cyberforum.ru/cpp-beginners/thread156831.html
делаю программу без всяких mfc и afc пробовал и void OnTimer(UINT nIDEvent) { logfile_f("\non TIMER CAME!\n"); MessageBox(NULL, TEXT("on Test!"), TEXT("Yes2!"), 0); }
C++ Обращение к данным класса. Доброе время суток. Начал самостоятельно изучать классы. Хотел выполнить задание, но возникла первая трудность. #include <iostream> class Rectangle { public: Rectangle (); //int Perimeter (int, int); http://www.cyberforum.ru/cpp-beginners/thread156821.html
C++ Как запрограммировать экспоненту
Добрый вечер! Помогите пожалуйста с вопросом: как запрограммировать функцию exp(x). Это стандартная функция, мне нужно сделать аналог своей функции. exp(x) = 1 + x + (x^2)/2!+(x^3)/3!....+(x^n)/n!+..... Нужно использовать несколько циклов?
C++ Прозрачность
Здравствуйте! Появилась необходимость поставить картинку на форму так, чтобы фон был прозрачным. Нашёл вот это http://www.rsdn.ru/archive/vc/issues/pvc045.htm и использовал первый вариант с поправкой на то, что у меня диалоговое приложение: BOOL Cdiplom_engDlg::OnInitDialog() { CDialog::OnInitDialog(); ... // TODO: добавьте дополнительную инициализацию...
C++ _beginrhread = crash 0xc0000417 http://www.cyberforum.ru/cpp-beginners/thread156792.html
code 417 значит неверный параметр был дан ф-ции рунтайма, а именно _beginthread _beginthread(func,0,NULL); но этот же код хорошо работал в моей старой другой проге =\ дебаг: ни win debugging tools ни студио дебагер его не ловят, он просто не случается, а в оллидб: ставишь Ignore memory access violations in KERNEL32 - галочку = краш есть как и без дебугера - снимаешь её = краша нет
C++ Почему _kbhit возвращает TRUE при отсутствии нажатий? Почему _kbhit возвращает TRUE при отсутствии нажатий? Есть такой кусок: if(_kbhit()) { if ((GetKeyState(VK_SPACE)==-127)||(GetKeyState(VK_SPACE)==-128)) cout << kbhit(); // клавиши не нажимаются но выдает 1, т.е. заходит таки в эту ветку IF } После до первого нажатия после запуска все норм - _kbhit()==0 , но после одного захода в ветку, _kbhit() так и... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
01.08.2010, 20:46     ООП - вопрос про деструктор
Цитата Сообщение от Krist_ALL Посмотреть сообщение
но когда умер первый?

Не по теме:

Krist_ALL, ты уже не первый день занимаешься программированием, пора работать над оформлением кода - читать невозможно.


После убирания лишнего мусора и переименования, получаем:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
class Sample {
public:
  Sample(int n)
  : n(n) { 
    std::cout << "Construction" << n << std::endl;
  }
 
  ~Sample() { 
    std::cout << "Destruction" << n << std::endl; 
  }
 
private:
  int n;
};
 
int main() {
  Sample s(0);
  s = Sample(1);
 
  return 0;
}
Теперь прекрасно видно, что объектов создается всего два (s и временный) и два же уничтожается (сначала временный, затем s). В строке 20 просто вызывается конструктор копирования, никакого третьего объекта не создается.
 
Текущее время: 18:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru