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

Класс "Массив". Перегрузка стандартных операций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ поиск элемента в линейном массиве http://www.cyberforum.ru/cpp-beginners/thread181323.html
буду благодарен вашей помощи=( Поиск элемента в линейном массиве .
C++ блог схема Кто может сделать блог схема и описания программы 4. Листинг программы 1.#include <stdio.h> 2.#include <math.h> 3. { 4. int main(void) 5.double x,y; 6.printf("vvedite dva 4isla:");... http://www.cyberforum.ru/cpp-beginners/thread181317.html
C++ Не могу разобраться,как переделать программу! !!
Ребят,помогите кто может) у меня такая проблема... Я написал задачу,она работает и всё нормально,но мне нада её переделать так,чтобы она работала не с одним числом Х,а с несколькими. В общем,чтобы...
C++ действия с прямоугольной матрицей
Помогите пожалуйста написать программу на MsVS C++ win32. Задачи программы: 1.Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке....
C++ Написал прогу, не знаю как объяснить правильно!!! http://www.cyberforum.ru/cpp-beginners/thread181300.html
Как правильно описать задачу преподу? Условие: 5 работников, базовая з/п 5000 за 1 ед 2000, за 2 1800, более 3х 1500. задается любое значение для каждого работник и вычисляется общая з/п каждого!!!...
C++ Написал прогу, не знаю как объяснить правильно!!! Как правильно описать задачу преподу? Условие: 5 работников, базовая з/п 5000 за 1 ед 2000, за 2 1800, более 3х 1500. задается любое значение для каждого работник и вычисляется общая з/п каждого!!!... подробнее

Показать сообщение отдельно
Vadya
1 / 1 / 0
Регистрация: 04.10.2010
Сообщений: 14
27.10.2010, 14:16  [ТС]
Форумчани!!! Проверьте правильно написанна эта программа???
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>
 
class Massive
{
  friend Massive operator+(const int *, const Massive &);
public:
  Massive(): size(0), p(0) { }
  Massive(const int *, const int);
  Massive(const Massive&);
  Massive& operator=(const Massive&);
  ~Massive() { delete [] p; }
  int &operator[](const int i) { return p[i]; }
  const int &operator[](const int i) const { return p[i]; }
  void debug() const;
private:
  int size;
  int *p;
};
 
Massive::Massive(const int *a, const int sz): size(sz),p(new int[sz])
{
  for (int i = 0; i != size; ++i)
    p[i] = a[i];
}
 
Massive::Massive(const Massive &rhs):size(rhs.size),p(new int[rhs.size])
{
  for (int i = 0; i != size; ++i)
    p[i] = rhs.p[i];
}
 
Massive& Massive::operator=(const Massive &rhs)
{
  if (this != &rhs)
  {
    delete [] p;
    p = new int[rhs.size];
    size = rhs.size;
    for (int i = 0; i != rhs.size; ++i)
      p[i] = rhs.p[i];
  }
  return *this;
}
 
void Massive::debug() const
{
  std::cout << "size = " << size << std::endl;
  for (int i = 0; i != size; ++i)
    std::cout << p[i] << " ";
  std::cout << std::endl;
}
 
Massive operator+(const int *a, const Massive &rhs)
{
  Massive temp(rhs);
  for (int i = 0; i != rhs.size; ++i)
    temp[i] += a[i];
  return temp;
}
 
int main()
{
  int a1[5] = {1, 3, 5, 2, 1};
  int a2[6] = {3, 41, 2, 23, 2};
  Massive obj1(a1, 5);
  Massive obj2(a2, 6);
  obj1.debug();
  Massive obj3;
  obj3 = a2 + obj1;
  obj3.debug(); 
  obj3[2] = 2;
  obj3[1] = obj1[2];
  obj3.debug();
  return 0;
 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru