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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
#1

как увидеть cout от диконстрактора (компелятор MS V C++ 2010 express ) - C++

17.05.2012, 15:04. Просмотров 312. Ответов 3
Метки нет (Все метки)

Кочется увидеть cout от деконстрактора

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// .h
 
#ifndef SILLY_H
#define SILLY_H
 
 
#include <iostream>
 
using namespace std; 
 
class silly 
{
    public: 
        silly();
        ~silly();
        
};
        
 
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//.cpp
#include "silly.h"
#include <iostream>
using namespace std; 
 
 
silly :: silly () 
{
        cout << "i'm costructor"<< endl;
}
 
silly::~silly()
        {
        cout << "I'm deconstructor" <<endl;
        }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//main.cpp 
#include "silly.h"
#include <iostream>
 
using namespace std; 
 
int main () {
 
 
silly so; 
cout << "omg wtf " << endl;
 
 
system ("pause");
 
}
cout от констрактора выводится, а от диконстрактора нет. Скажите, пожалуйста, почему ? Мож дело в настройках компилятора ??? заранее спасибо ! Когда я создаю проект я пользуюсь Win32 console App and empty project.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2012, 15:04     как увидеть cout от диконстрактора (компелятор MS V C++ 2010 express )
Посмотрите здесь:

Не получается работать с cout в MS Visual C++ 2010 Express - C++
в общем берем даже обычную программу: # include &lt;stdio.h&gt; # include &lt;conio.h&gt; int main() { printf (&quot;Privet!\n&quot;); ...

Как добавить файл ресурс в Studio Express 2010 - C++
В Studio Express 2010 отключена возможность создания ресурсов... Можно ли создать вручную и как ?

При переводе программы с VS c++ 6.0 на VS c++ 2010 express выходят ошибки, как их исправить? - C++
На Vusial Studio c++ 6.0 все прекрасно работало, но стоило мне все это перевести на visual c++ 2010 express, то вышли ошибки и куча...

как сделать в MS VS 2010 express output не в консоль в output windows - C++
сабж заранее спасибо

ключ к MS VS 2010 Express - C++
сабж. Где посмотреть мой ключ или получить новый без доступа к интернету?

Можно ли на MS VC 2010 express ставить расширения - C++
Хочу поставить расширения для проверки орфографии и еще кое что. Скачал расширение там один файл C1IntelliSpell_2.0.20122.79.msi кликаю на...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
17.05.2012, 15:25     как увидеть cout от диконстрактора (компелятор MS V C++ 2010 express ) #2
Потому, что деструктор выполняется перед выходом из main(),
т.е. после system("pause");
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>
using namespace std;
class silly 
{
    public: 
      silly();
      ~silly();
};
silly :: silly () 
{
   cout << "i'm costructor\n"<< endl;
}
silly::~silly()
 {
    cout << "I'm deconstructor\n" <<endl;
 }
int main ()
{
   silly* so=new silly; 
   delete so;
    cout << "omg wtf " << endl;
    system ("pause");
}
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.05.2012, 15:29     как увидеть cout от диконстрактора (компелятор MS V C++ 2010 express ) #3
Деструктор(да, он так называется) вызывается при выходе из области видимости, в данном случае в конце main'a. Т.е. у вас ставится пауза, вы снимаете с паузы, и уже тогда выводится эта надпись.
Можно сделать так
C++
1
2
3
4
5
6
7
int main()
{
   {
      silly s;
   }
   system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2012, 15:32     как увидеть cout от диконстрактора (компелятор MS V C++ 2010 express )
Еще ссылки по теме:

VS 2010 C++ express не удается найти указанный файл - C++
Написал 2 программы , пишу 3 и выводит такую ошибку такая ошибка. В папке .../Projects/Sort buble/Debug - ничего нету.Уже 2 дня...

Microsoft visual express 2010. Скомплилированный заголовок - C++
Здравствуйте, товарищи =) Недавно стал изучать C++ по книге Прата С. Сейчас столкнулся с некоторым непониманием. Что значит...

Прилинковать SDL 2.0.3 к Visual Studio 2010 Express - C++
ребята делал все как написано тут версия сдл 2.0.3 но в конце выдает такое &quot;sdltest.exe&quot;: Загружено: &quot;C:\Users\Iliya\Documents\Visual...

Ошибка при построении Release в VC 2010 Express. - C++
Использую qt-win-opensource-4.8.1-vs2010 с VC 2010 Express. Проект разделён на три файла: mainwindow.h #include &lt;QtGui&gt; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
17.05.2012, 15:32  [ТС]     как увидеть cout от диконстрактора (компелятор MS V C++ 2010 express ) #4
Цитата Сообщение от zss Посмотреть сообщение
Потому, что деструктор выполняется перед выходом из main(),
т.е. после system("pause");
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>
using namespace std;
class silly 
{
    public: 
      silly();
      ~silly();
};
silly :: silly () 
{
   cout << "i'm costructor\n"<< endl;
}
silly::~silly()
 {
    cout << "I'm deconstructor\n" <<endl;
 }
int main ()
{
   silly* so=new silly; 
   delete so;
    cout << "omg wtf " << endl;
    system ("pause");
}
А можно как ниб без new and delete?
Я почему озадачился... В этом туториале (ниже ) там все хип хоп с cout- ом. Парень даже system ("pause ") не юзает
http://www.youtube.com/watch?v=4P4Im...ure=plpp_video

Добавлено через 2 минуты
Цитата Сообщение от diagon Посмотреть сообщение
Деструктор(да, он так называется) вызывается при выходе из области видимости, в данном случае в конце main'a. Т.е. у вас ставится пауза, вы снимаете с паузы, и уже тогда выводится эта надпись.
Можно сделать так
C++
1
2
3
4
5
6
7
int main()
{
   {
      silly s;
   }
   system("pause");
}
Огромное спасибо!
Yandex
Объявления
17.05.2012, 15:32     как увидеть cout от диконстрактора (компелятор MS V C++ 2010 express )
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru