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

Не вызывается деструктор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти число расположений N ферзей на шахматной доске размером N*N http://www.cyberforum.ru/cpp-beginners/thread887029.html
Необходимо расположить N ферзей так, чтобы ни один из них не был под ударом, то есть по одному на каждый столбец, каждую строку и каждую диагональ. Я думаю, что это возможно только тогда, когда один ферзь отстоит от другого на ход коня (на 1 или 2 столбца и 2 или 1 строку). Сам алгоритм мне ясен, но программа не работает (проходит цикл определенное количество раз и выдает необработанное...
C++ Рекурсия (вывести значение целочисленного выражения, заданного в виде строки S) Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется следующим образом: <выражение>::=<цифра> | (<выражение><знак><выражение>) <знак>::= + | – | * Эту задачу нужно решить с помощью рекурсии. Кто может объяснить что это такое и как его есть? Задачу. http://www.cyberforum.ru/cpp-beginners/thread887001.html
Сумма ряда, ошибка C++
Я не мега-прогер, так что не судите... Вылетает ошибка. expected 'while' before numeric constant. expected ')' before ';' token. Вот сам код. #include <iostream> #include <math.h> #include <iomanip>
C++ Заданную строку перевести в массив из слов
Всем привет, вот дан string предложение, нужно все это перевести в массив из слов . Что можно сделать?
C++ Быстро возвести в квадрат число заданной длины (<16 байт) http://www.cyberforum.ru/cpp-beginners/thread886980.html
Нужно быстро возвести в квадрат число заданной длины (<16 байт). Лучшее, что я пока придумал -- это делить число на 2 маленьких по формуле: (a+bx)^2=2(\frac 12a^2+abx+\frac 12b^2x^2), где умножение, деление на 2 -- просто сдвиг на 1. Я сначала делю, а потом умножаю, чтоб в месте abx не было переполнения. Тут x=2^{32}. После этого я числа a^2, b^2 считаю по такой же формуле (рекуррентно), а числа...
C++ почему не добавляет элемент? insert() должен добавить один элемент,но он неправильно работает,где ошибка? #include "stdafx.h" #include <iostream> using namespace std; void Insert(const int index,const int value,int * arr,const int size); int _tmain(int argc, _TCHAR* argv) { int * arr=new int; for(int i=0;i<10;i++) подробнее

Показать сообщение отдельно
NonCFist
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 12
01.06.2013, 06:28     Не вызывается деструктор
_Здравствуйте. Я новичок в программировании, сейчас изучаю самостоятельно С++ по книге Джесса Либерти. При разборе одного из примеров передачи параметров в функцию как ссылок (с помощью указателей),столкнулся с тем, что в отличие от output в книге, у меня не выводится сообщение, которое прописано в деструкторе. Скажите плиз, в чем причина?
Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 // Передача константных указателей на объекты.
#include <iostream>
using namespace std;
 
class SimpleCat
{
public:
    SimpleCat();
    SimpleCat(SimpleCat&);
    ~SimpleCat();
 
    int GetAge() const { return itsAge; }
    void SetAge(int age) { itsAge = age; }
private:
    int itsAge;
};
 
SimpleCat::SimpleCat()
{
    cout << " SimpleCat constructor...\n";
    itsAge = 1;
}
 
SimpleCat::SimpleCat(SimpleCat&)
{
    cout << " SimpleCat copy constructor...\n"; 
}
 
SimpleCat::~SimpleCat()
{
    cout << " SimpleCat destructor...\n";
}
    
const SimpleCat * const FunctionTwo (const SimpleCat * const TheCat);
 
int main()
{
    cout << "\n\n";
    cout << " Making a cat...\n";
    SimpleCat Frisky;
    cout << " Frisky is " << Frisky.GetAge() << " years old\n";
    int age = 5;
    Frisky.SetAge(age); 
    cout << " Frisky is " << Frisky.GetAge() << " years old\n";
    cout << " Calling FunctionTwo...\n";
    FunctionTwo(&Frisky);
    cout << " Frisky is " << Frisky.GetAge() << " years old\n";
    cout << "\n\n";
    system ("pause");
    return 0;
}
 
const SimpleCat * const FunctionTwo (const SimpleCat * const TheCat)
{
    cout << " FunctionTwo returing...\n";
    cout << " Frisky is now " << TheCat->GetAge() << " years old\n";
    //TheCat->SetAge(8); const!
    return TheCat;
}
Результат:

Making a cat...
SimpleCat constructor...
Frisky is 1 years old
Frisky is 5 years old
Calling FunctionTwo...
FunctionTwo returing...
Frisky is now 5 years old
Frisky is 5 years old


Для продолжения нажмите любую клавишу . . .
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru