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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Lordi1289
2 / 2 / 0
Регистрация: 02.11.2010
Сообщений: 103
#1

Класс вектор - C++

18.06.2012, 12:36. Просмотров 1171. Ответов 5
Метки нет (Все метки)

Создать абстрактный тип данных - класс вектор, который имеет указатель на float, число элементов и переменную состояния. Определить конструктор без параметров, конструктор с параметром, конструктор с двумя параметрами. Конструктор без параметров выделяет место для одного элемента и инициализирует его в ноль. Конструктор с одним параметром, - размер вектора, - выделяет место и инициализирует номером в массиве, конструктор с двумя параметрами выделяет место (первый аргумент) и инициализирует вторым аргументом. Деструктор освобождает память. Определить функцию, которая присваивает элементу массива некоторое значение (параметр по умолчанию), функцию которая получает некоторый элемент массива. В переменную состояния устанавливать код ошибки, когда не хватает памяти, выходит за пределы массива. Определить функцию печати. Определить функции сложения, умножения, вычитания, которые производят эти арифметические операции с данными этого класса и встроенного float. Определить методы сравнения: больше, меньше или равно. Предусмотреть возможность подсчета числа объектов данного типа. Проверить работу этого класса.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2012, 12:36     Класс вектор
Посмотрите здесь:

Класс Вектор - C++
Решил написать свой класс вектор, приблизительно как в СТЛ. Сначала решил сделать каркас. Все функции без аллокатора и итератора. Сделал. И...

Класс Вектор - C++
Нужна помощь в написании программы. Класс "Вектор". (Чем он отличается от массива? в том что мне дали про вектора ни слова. Помогите...

Дореализовать класс Вектор - C++
Добрый день ! У меня есть класс Вектор, в котором вектор является одномерным динамическим массивом и есть класс Матрица, в которой...

Класс-Контейнер Вектор - C++
Как подсчитать в векторе количество максимальных элементов?

Класс-Контейнер Вектор - C++
Как подсчитать в векторе из целых чисел количество максимальных элементов?

Класс-Контейнер Вектор - C++
Подскажите пожалуйста, как заполнить вектор латинским алфавитом?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
18.06.2012, 13:46     Класс вектор #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
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <stdio.h>
 
class vector
{
 private:
  float* f;
  int sz;
  int state;
  static int n;
 
 public:
  vector()
  { 
   f = new float[1];
   f[0] = 0;
   sz = 1;
   state = 0;
   n++;
  };
 
  vector(int a)
  {
   f = new float[a];
   int i;
   for(i=0;i<a;i++)
    f[i] = i;
   sz = a;
   state = 0;
   n++;
  };
 
  vector(int a, float b)
  {
   f = new float[a];
   int i;
   for(i=0; i<a;i++)
    f[i] = b;
   sz = a;
   state = 0;
   n++;
  };
 
  ~vector()
  {
   delete []f;
  };
 
  void setv(int a, float b)
  {
   f[a] = b;
  };
 
  float getv(int a)
  {
   return f[a];
  };
 
  void print()
  {
   int i;
   for (i = 0; i < sz; i++)
    printf("%d ", this->f[i]); 
  };
 
  friend int operator>(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++)
   {
    if ( !( this->f[i] > a->f[i] ) )
     return 0;
   }
   return 1;
  };
 
  friend int operator==(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++)
   {
    if ( !( this->f[i] == a->f[i] ) )
     return 0;
   }
   return 1;
  };
 
  friend int operator<(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++)
   {
    if ( !( this->f[i] < a->f[i] ) )
     return 0;
   }
   return 1;
  };
 
  friend void operator+(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++) 
    this->f[i] += a->f[i];
  };
 
  friend void operator-(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++) 
    this->f[i] -= a->f[i];
  };
 
  friend void operator*(vector* a)
  {
   int i;
   for (i = 0; i < sz; i++) 
    this->f[i] *= a->f[i];
  };
 
 
  // число подсчета объектов данного типа
 
};
 
 
int main()
{
 
 
 return 0;
};
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.06.2012, 13:52     Класс вектор #3
asidorchenko, Первый вопрос - почему все операторы принимают указатель на вектор, вместо const ссылки?
Второй вопрос - зачем все операторы сделаны friend функциями, если это абсолютно не нужно?
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
18.06.2012, 13:54     Класс вектор #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Второй вопрос - зачем все операторы сделаны friend функциями, если это абсолютно не нужно?
а где логика? "не нужно" это не объяснение
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.06.2012, 13:55     Класс вектор #5
sandye51, Зачем функцию делать friend, если ее можно сделать свободной?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2012, 13:56     Класс вектор
Еще ссылки по теме:

Создать класс - вектор - C++
Создать класс - вектор, который имеет в закрытой части указатель на данные целого типа и количество элементов. Определить конструктор,...

Вектор типа Класс - C++
Как правильно работать с вектором тип которого класс, как правильно вносить и считывать данные вектора? #include &lt;iostream&gt; #include...

Класс-Контейнер Вектор - C++
I Дана последовательность целых чисел Подсчитать сумму элиментов, расположенных между минимальным и максимальным элементами...

Создать класс – вектор - C++
Помогите решить задачу... Создайте класс – вектор (в пространстве Rn ). Класс должен содержать поинтер к типу long double и количество...


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

Или воспользуйтесь поиском по форуму:
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
18.06.2012, 13:56     Класс вектор #6
ForEveR, а, ну если в этом смысле, то согласен.
я почему-то подумал что имеете ввиду сделать ее методом класса
Yandex
Объявления
18.06.2012, 13:56     Класс вектор
Ответ Создать тему
Опции темы

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