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

Использование деструктора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить и вывести на консоль длину ломанной линии http://www.cyberforum.ru/cpp-beginners/thread614233.html
Разработать структуру с именем POINT, содержащую поля: • горизонтальная координата точки на плоскости; • вертикальная координата точки на плоскости. Написать программу, выполняющую следующие действия: • Ввод с консоли координат вершин ломанной линии в массив структур POINT; • Вычислить и вывести на консоль длину ломанной линии.
C++ Что то не то со скоростью GeoSpeed.Longitude=(Longitudinal*sin(Course)+Transverse*cos(Course))*Speed*SpeedFactor/cos(GeoPosition.Lattitude); GeoSpeed.Lattitude=(Longitudinal*cos(Course)-Transverse*sin(Course))*Speed*SpeedFactor; GeoPosition.Longitude+=GeoSpeed.Longitude*DeltaTime; GeoPosition.Lattitude+=GeoSpeed.Lattitude*DeltaTime; продольная задана 14 узлов и на самом деле 14 узлов, а дрейф задан 0,14 узла, а... http://www.cyberforum.ru/cpp-beginners/thread614232.html
В одномерном массиве, состоящем из n элементов, вычислить произведение элементов между первым и вторым нулевыми элементами! C++
В одномерном массиве, состоящем из n элементов, вычислить произведение элементов между первым и вторым нулевыми элементами!
C++ Работа с проектами
Стыдно задавать такой вопрос, но с другой стороны " не стыдно не знать, стыдно не учиться". Dev-C++ всегда создавал исходные файлы их компилировал и все работало. Но вот создал проект вставил текст программы который уже ранее компилировал, но получаю сообщение что проект не откомпилирован. Проекты как-то по особенному компилируется?
C++ Битовые поля http://www.cyberforum.ru/cpp-beginners/thread614204.html
struct TKeyFlags { int Old :1; int :6; int Current:1; }; Почему то sizeof=4. Почему?
C++ Сформировать массив из элементов матрицы задача следующая: дана матрица A(NxN). сформировать ономерный массив по следующим правилам:если аii<0(i=2,...,n-1),в качестве bi взять сумму элементов i-той строки матрицы, предшествующих aii, в противном случае - сумму элементов строки, следующих за aii. Помогите исправить #include<stdio.h> #include<conio.h> #include<stdlib.h> void main () { int a,b,i,j,n,sum; printf("vvedite razmer... подробнее

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

Использование деструктора - C++

26.06.2012, 13:21. Просмотров 671. Ответов 4
Метки (Все метки)

Я не очень понимаю в каких случаях в классе или шаблоне надо реализовавывать дестрактор а в каких не не надо ???

вот например код :

вот нафига мне здесь дистрактор если я даже в мейне его не использую ??? еще интресно зачем мне здесь дефолтный конструктор

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//
//Stack.inl
//
#include "ArrayException.h"
#include "StackException.h"
//using namespace std; 
template<class Type, int size>
Stack<Type,size>::Stack():m_array(new Array<Type>),m_current(0){} //the current position is the last index of the Array
// constructor
template<class Type, int size>
Stack<Type,size>::Stack(int size):m_array(new Array<Type>(size)),m_current(0){}        //the current position is the last index of the Array
//copy constructor
template<class Type, int size>
Stack<Type,size>::Stack(const Stack<Type,size>& copy):m_array(copy.m_array),m_current(m_array.Size()-1){} //the current position is the last index of the Array copied
//asignment operator
template<class Type, int size>
Stack<Type,size>& Stack<Type,size>::operator=(const Stack<Type,size>& s)
{
    if(this!=&s)        //handle self assignment
    {
        this->Stack<Type,size>::operator=(s);
        m_current = s.m_current;
    }
 
    return(*this);
}
//destructor
 
template<class Type, int size>
Stack<Type,size>::~Stack()
{
}
//member functions
 
template<class Type, int size>
void Stack<Type,size>::Push(const Type& element)
{
    try
    {
        if(m_current>=m_array->Size())  // as far as i'm understand from 
                                        // the condition of the problem this checker don't need to, 
                                        // because in array class already checked this condition 
                                        // but I can mistake because of this you should double check. 
        {
            throw OutOfBoundsException(m_current);
        }
        
        //increments the current position by 1 unit.
        
        m_array->SetElement(element,m_current);    //sets the element at the current position in the stack
        m_current++;
    }
    catch(OutOfBoundsException& error)
    {   
        //error.GetMessage();
        StackFullException();
    }
    catch(...)
    {
        std::cerr<<"Unhandled error occured"<<endl;
    }
}
 
 
 
template<class Type, int size>
Type Stack<Type,size>::Pop()
{
    
  try
    {
        if(m_current==0)
        {
            throw OutOfBoundsException(m_current);
        }
        
       m_current--;    //increments the current position by 1 unit.
       return m_array->GetElement(m_current);
    }
    catch(OutOfBoundsException error)
    {   
        StackEmptyException();
    }
    catch(...)
    {
        std::cerr<<"Unhandled error occured"<<endl;
    }
}
 
template<class Type, int size>
Array<Type>& Stack<Type,size>::ObjArray() 
{
return  *m_array;
}
 
template<class Type>
int Stack<Type,size>::Current() const
{
    return m_current;
}
 
//#endif
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru