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

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

Войти
Регистрация
Восстановить пароль
 
DiNekro
0 / 0 / 0
Регистрация: 14.08.2008
Сообщений: 3
#1

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

14.08.2008, 16:10. Просмотров 1121. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2008, 16:10     Маленькая буква x
Посмотрите здесь:

маленькая маленькая консультация, не сложная работа - C++
почему эта прога не компилируется? #include&lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;math.h&gt; int main() { string z=&quot;1011&quot;; ...

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

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

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

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

Маленькая ошибка - C++
#include&lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; bool myfunc(char x , char x1 ); bool...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
14.08.2008, 16:18     Маленькая буква x #2
при создании объекта класса вызывается его конструктор, при удалении объекта - вызывается деструктор (у тебя это происходит неявно при завершении работы программы)
тоже самое произошло бы при таком коде:
Код
int main()
{
TEMP* x = new TEMP(); // создание объекта, вызов конструктора
delete x; // удаление объекта, вызов деструктора
return 0 ;
}
DiNekro
0 / 0 / 0
Регистрация: 14.08.2008
Сообщений: 3
14.08.2008, 16:24  [ТС]     Маленькая буква x #3
Спасибо, понял, просто ступил...
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
14.08.2008, 16:27     Маленькая буква x #4
может с точки зрения теории я и коряво объяснил, хотя ваш код и сам показывает, что делается на самом деле...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2008, 16:31     Маленькая буква x
Еще ссылки по теме:

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

маленькая ошибка в программе - C++
ни как не могу исправить(( даже стыдно. // 4_laba_chemes.cpp: определяет точку входа для консольного приложения. // #include...

Маленькая проблемка со switch - C++
Проблема - невозможность использование перемнной типа string как управляющей в операторе switch. Цель - сделать некий аналог. рабочую...

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

Маленькая доработка программы - C++
Требуется написать программу для вычисления интеграла методом левых, правых и средних прямоугольников. Вот есть программа как вычислить 1...

Ошибочка маленькая и не понятная((( - C++
Исправите ошибку.За ране спасибо! #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
DiNekro
0 / 0 / 0
Регистрация: 14.08.2008
Сообщений: 3
14.08.2008, 16:31  [ТС]     Маленькая буква x #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
Спасибо, тему можно удалять
Yandex
Объявления
14.08.2008, 16:31     Маленькая буква x
Закрытая тема Создать тему
Опции темы

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