0 / 0 / 0
Регистрация: 14.08.2008
Сообщений: 3
1

Маленькая буква x

14.08.2008, 16:10. Показов 3087. Ответов 4
Метки нет (Все метки)

Недавно начал изучать С++. Встретил следующий код, не понимаю как он работает. Если кто подскажет, почему из-за буквы "x" выполняется конструктор и деструктор, то буду очень признателен, спасибо.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include "iostream.h"
 
class TEMP 
{
private:
  int a;
public:
  TEMP(){cout<<"Temp constructor was called"<<endl;}
  ~TEMP(){cout<<"Temp destructor was called"<<endl;}
};
 
int main()
{
TEMP x;
 
return 0 ;
}
На экране соответственно:

Temp constructor was called
Temp destructor was called
Press any key to continue
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.08.2008, 16:10
Ответы с готовыми решениями:

маленькая маленькая консультация, не сложная работа
почему эта прога не компилируется? #include&lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;math.h&gt;...

(Только простой вариант)Дано слово и буква.Сколько раз эта буква встречается в слове
Дано слово и буква.Сколько раз эта буква встречается в слове.

Написать программу которая реализует шифр Цезаря, т.е. каждая буква заменяется на следущую за ней по алфавиту, а последняя буква заменяется первой
Написать программу которая реализует шифр Цезаря, т.е. каждая буква заменяется на следущую за ней...

Проверить, встрачается ли в заданном тексте буква "а" чаще, чем буква "b"
задача: Напечатать true, если в заданном тексте буква &quot;а&quot; встречается чаще чем буква &quot;b&quot;, и...

4
Супер-модератор
8774 / 2524 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
14.08.2008, 16:18 2
при создании объекта класса вызывается его конструктор, при удалении объекта - вызывается деструктор (у тебя это происходит неявно при завершении работы программы)
тоже самое произошло бы при таком коде:
Код
int main()
{
TEMP* x = new TEMP(); // создание объекта, вызов конструктора
delete x; // удаление объекта, вызов деструктора
return 0 ;
}
1
0 / 0 / 0
Регистрация: 14.08.2008
Сообщений: 3
14.08.2008, 16:24  [ТС] 3
Спасибо, понял, просто ступил...
0
Супер-модератор
8774 / 2524 / 143
Регистрация: 07.03.2007
Сообщений: 11,872
14.08.2008, 16:27 4
может с точки зрения теории я и коряво объяснил, хотя ваш код и сам показывает, что делается на самом деле...
1
0 / 0 / 0
Регистрация: 14.08.2008
Сообщений: 3
14.08.2008, 16:31  [ТС] 5
Да не, я понял, этот код как раз это и показывает. Просто я на тест отвечаю, и идин из вопросов звучал так:

Which of the following will be the output from the sample below?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class X 
{
private:
  int a;
public:
  X(){cout<<"X constructor was called"<<endl;}
  ~X(){cout<<"X destructor was called"<<endl;}
};
 
int main()
{
X x;
return 0 ;
}
Select answer:
1. ~X() X destructor was called
2. X destructor was called
3. X constructor was called
X destructor was called
4. X constructor was called
5. X() constructor was called
Вот меня и напугал X x, X я переделал в temp. Теперь-то ясно как день, что строка
X x
определяет x как класс X
Спасибо, тему можно удалять
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.08.2008, 16:31
Помогаю со студенческими работами здесь

Маленькая ошибка
#include&lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; bool...

Маленькая задачка.
Дано действительное число h. Выяснить, имеет ли уравнение ax2 + bx + c = 0 действительные корни,...

Маленькая конструкции с if else
Доброе время суток, товарищи! У меня возник вопрос, как мне в кострукции с if else сделать так,...

Маленькая не понятка с вектором
Народ, не могу понять почему не идет подсчет суммы на этом моменте vector &lt;double&gt; rating;...


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

Или воспользуйтесь поиском по форуму:
5
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru