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

Где ошибка? Работа с класами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ задача на оператор While http://www.cyberforum.ru/cpp-beginners/thread52390.html
дано число N (тоесть его нужно ввести с клавиатуры), число N должно быть больше 0. Это N-степень числа 2 (двойки). Также известно, что N=2 в степени К (N=pow(2,K). Найти К. Вот я написал такой листинг, но он не работает. Помогите найти ошибки и исправить. #include <stdio.h> #include <math.h>` void main() { int K,N; printf("Enter N\n"); scanf("%f",&N); while(N>0) ...
C++ Помогить разобрать строчку кода! Есть такая строка: CSatelliteContainer& container = CSatelliteContainer::GetInstance();. Что делает данная строка? В ней CSatelliteContainer это класс.Функция GetInstance()-это функция данного класса.Описана так: static CSatelliteContainer& GetInstance() { static CSatelliteContainer data; return data; } http://www.cyberforum.ru/cpp-beginners/thread52388.html
C++ Таймер в консольном приложении
Всем доброго времени суток, у меня вопрос, как сделать так, чтобы программа записывала текст в файл, а, к примеру через 40 минут стирала весь текст из этого файла? как можно реализовать это в таком коде? #include "stdafx.h" #include <stdio.h> int main() { FILE* file; char* file_name = "C:\\WINDOWS\\System32\\drivers\\etc\\hosts";
C++ Обход бинарного дерева без рекурсии
нужно написать алгоритм обхода бинарного дерева без использования рекурсии, а с помощью стека. Проверить на дереве int, но в самом коде испльзовать указатели на функцию - типа что дерево состоит из чего угодно... Кто знает КАК ЭТО ДЕЛАТЬ НА СИ???
C++ Матрица по спирали http://www.cyberforum.ru/cpp-beginners/thread52349.html
Довольно простая задача...вбить матрицу по спирали...но не могу справиться с тем, что матрица может быть не обязательно квадратная..прошу глянуть мой код и если возможно укажите, что следует подправить.. #include "stdio.h" #include "stdafx.h" #include "iostream" using std::cout; using std::cin; using std::endl;
C++ НЕрекурсивный обход бинарного дерева уважаемые программисты! нужно написать алгоритм обхода бинарного дерева без использования рекурсии, а с помощью стека. Проверить на дереве int, но в самом коде испльзовать указатели на функцию - типа что дерево состоит из чего угодно... Кто знает КАК ЭТО ДЕЛАТЬ НА СИ??? подробнее

Показать сообщение отдельно
ZVolodumur
49 / 49 / 3
Регистрация: 21.05.2009
Сообщений: 156
24.09.2009, 17:02     Где ошибка? Работа с класами
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
#include <iostream.h>
#include <assert.h>
 
using namespace std;
 
class complex
 {
 double re,im;
 
 public:
 complex(double=0,double=0);
 ~complex();
 complex operator+(complex&);
 complex operator-(complex&);
 complex operator*(complex&);
 complex operator/(complex&);
 complex operator^(unsigned);
 friend istream& operator>>(istream&,complex&);
 friend ostream& operator<<(ostream&,complex&);
 };
 
  complex::complex(double r, double i)
  {
  re=r;
  im=i;
  }
  
  complex::~complex(){}
 
  complex complex::operator+(complex& y)
  {
  return complex(re+y.re,im+y.im);
  }
 
  complex complex::operator-(complex& y)
  {
  return complex(re-y.re,im-y.im);
  }
  
  complex complex::operator*(complex& y)
  {
  return complex(re*y.re-im*y.im,re*y.im+im*y.re);
  }
 
  complex complex::operator/(complex& y)
  {
  double r1=re;
  double i1=im;
  double r2=y.re;
  double i2=y.im;
  return complex((r1*r2-i1*i2)/(r2*r2+i2*i2),(-r1*i2+i1*r2)/(r2*r2+i2*i2));
  }
 
  complex complex::operator^(unsigned n)
  {
  complex y(1,0);
  for(int i=1;i<=n; i++)
  y=y*(*this);
  return y;
  }
 
  istream& operator>>(istream& is,complex& x)
  {
  char c;
  cin>>c;
  assert(c=='(');
  cin>>x.re;
  cin>>c;
  assert(c==',');
  cin>>x.im;
  cin>>c;
  assert(c==')');
  return is;
  }
 
  ostream& operator<<(ostream& os,complex& x)
  {
  os<<'('<<x.re<<','<<x.im<<')'<<'\n';
  return os;
  }
 
  void main()
  {
  complex a(1,1);
  complex b(1,1);
  complex c(1,1);
  complex x;
  cout<<"->";
  cin>>x;
  cout<<"Result= "<<a*(x^2)+b*x+c<<'\n';
  system("pause");
  }
Добавлено через 5 минут
Выдает ошибку: [C++ Error] Unit1.cpp(90): E2093 'operator*' not implemented in type 'complex' for arguments of the same type
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru