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

протестировать методы класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано вещественное число А http://www.cyberforum.ru/cpp-beginners/thread587160.html
Дано вещественное число А. Найти среди чисел 1, 1+1/2, 1+1/2+1/3+... первое число, большее А Плиз помогите катастрофически не успеваю...
C++ Организовать ввод трех чисел, первое из которых является наибольшим общим делителем двух последних 1)Организовать ввод трех чисел, первое из которых является наибольшим общим делителем двух последних. 2)У заданного натурального числа найти среднее арифметическое его цифр. В с++ Помогите... http://www.cyberforum.ru/cpp-beginners/thread587148.html
C++ Дайте пожалуйста ссылку на сайт с командами
Помогите вспомнить на сайт с командами и функциями для С++, точно не помню на кажется эта страница была на сайте Microsoft, но что то не нашел её там
из паскаля в си++ C++
:( помогите пожалуйста перевести программку из паскаля в си++, (заранее благодарна) : Program matr; Uses Crt; Var a:array of integer; v:array of integer; i,j,n,k,i1,m,j1,s:integer; Begin
C++ Для треугольника известны три стороны. Найти его площадь, если этот треугольник прямоугольный http://www.cyberforum.ru/cpp-beginners/thread587088.html
Для треугольника известны три стороны. Найти его площадь, если этот треугольник прямоугольный. В с++
C++ Задача на нахождение среди символов последовательности требуемых букв Даны символы s1, s2, … Известно, что символ s1 отличен от восклицательного знака и что среди s2, s3,… есть по крайней мере один восклицательный знак. Пусть s1, …, sn – символы данной... подробнее

Показать сообщение отдельно
tori117
0 / 0 / 1
Регистрация: 11.03.2012
Сообщений: 3

протестировать методы класса - C++

26.05.2012, 10:52. Просмотров 368. Ответов 2
Метки (Все метки)

У меня есть класс "вектор". В нём добавила метод, который вычисляет длину вектора и перегрузила функции +,-,=. Нужно протестировать все методы класса. Помогите, пожалуйста, я не совсем понимаю как это сделать
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
#include <iostream>;
using namespace std;
    #pragma once
template<typename T>
class vector
{
private:
T *_vector;
size_t _size;
void _realloc(size_t new_size)
{
T *new_vector = new T[new_size];
for(size_t i = 0; i<_size; i++) new_vector[i] = T(_vector[i]);
delete[] _vector;
_vector = new_vector;
_size = new_size;
}
public: 
vector(void)
{
_vector = 0;
_size = 0;
}
 
vector(size_t size)
{
_vector = new T[size];
_size = size;
}
 
~vector()
{
if(_vector) delete[] _vector;
}
 
size_t length()
{
return _size;
}
 
T &operator[](size_t nth)
{
while(nth>=size) _realloc(2*_size);
return _vector[nth];
}
 
vector<T> &operator=(vector<T> &other)
{
_size = 0;
_realloc(other.length());
for(size_t i = 0; i<_size; i++) _vector[i] = other[i];
return this;
}
vector<T> &operator+(vector<T> &other)
{
size_t new_size = _size+other.length();
vector<T> new_vector = new vector<T>(new_size);
for(size_t i = 0; i<_size; i++) new_vector[i] = _vector[i];
for(size_t i = 0; i<other.length(); i++) new_vector[_size+i] = other[i];
return new_vector;
}
 
vector<T> &operator+(T &other)
{
vector<T> new_vector = new vector<T>(_size);
for(size_t i = 0; i<_size; i++) new_vector[i] = _vector[i]+other;
return new_vector;
} 
 
vector<T> &operator-(T &other)
{
vector<T> new_vector = new vector<T>(_size);
for(size_t i = 0; i<_size; i++) new_vector[i] = _vector[i]-other;
return new_vector;
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru