- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
#include <iostream>
using namespace std;
class Manager
{
private:
int *ar;
int _size;
public:
void CreateArray(int size);
void ResizeArray(int size);
void MakeIntArray(int iter, int number);
int GetIntArray(int iter);
~Manager()
{
delete [] ar;
}
};
void Manager::CreateArray(int size)
{
_size = size;
ar = new int[size];
}
void Manager::ResizeArray(int size)
{
int *nar = new int[size];
for(int i = 0; i < _size; i++)
{
*(nar+i) = *(ar+i);
}
_size = size;
delete [] ar;
*ar = *nar;
}
int Manager::GetIntArray(int iter)
{
return iter < _size ? *(ar+iter) : NULL;
}
void Manager::MakeIntArray(int iter, int number)
{
if(iter < _size)
*(ar+iter) = number;
}
int main()
{
Manager Man;
Man.CreateArray(10);
for(int i = 0; i < 10; i++)
Man.MakeIntArray(i, i);
for(int i = 0; i < 10; i++)
cout << Man.GetIntArray(i) << " ";
Man.ResizeArray(20);
cout << endl;
for(int i = 10; i < 20; i++)
Man.MakeIntArray(i, i);
for(int i = 0; i < 20; i++)
cout << Man.GetIntArray(i) << " ";
return 0;
}
> В программировании много всяких стереотипов.
А велосипед так вообще считается священным животным.
// http://lorquotes.ru/view-quote.php?id=5464
zadornov.jpg
есть же хорошее русское слово приказчик
русского языка - очередной стереотип.
Конструктор с деструктором ладно, дальше перегрузка оператора = и T(cosnt T&) я так и не понял, какой из них я могу не писать (поэтому тупо блокирую = и не объявляю T(T) - так можно?) чтобы было всё корректно обработано. Теперь ещё и T(T&&) добавили...
http://liveworkspace.org/code/3lECwB$1
//B обязательно по конвенции ТарасаБ.
А чё, автоматом вместо T(T) не сгенерируется что надо?
В Аде всё проще было.
АКМ вместо ТТ?
сколько можно задавать этот вопрос?
если у твоих членов нет хитрожопого поведения при копировании, то конструктор копирования и оператор присваивания не пиши
гомосятина какая-то
если в качестве конструктора копирования тебя устраивает цепочка "конструирование по умолчанию -> выполнение копирования", то сделай уже метод assign и его вызывай и в конструкторе копирования, и в присваивании (видимо, это как раз поведение твоей ады)
"сначала скопируй по умолчанию, а потом чуток подправь члены"?
сначала подумал, что @TarasB как в армии получил инструкции от @Обделаться++ и готов приступить к выполнению.
> у твоих членов нет хитрожопого поведения
No Way
4ый конструктор забыл удалить:
или это не обязательно? сам удалится вместе с ?
АААААААА! Щ_щ