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

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

Войти
Регистрация
Восстановить пароль
 
Валера101
0 / 0 / 0
Регистрация: 26.08.2011
Сообщений: 3
#1

переопределение операторов - C++

28.10.2012, 20:01. Просмотров 421. Ответов 1
Метки нет (Все метки)

Писал прогу с переопределнием операторов, всё работало, теперь когда мне понадобилась та либа, в ней ничего не работает =(

fractal_koha\main.cpp invalid operands of types `Vector*' and `Vector*' to binary `operator^' '
чего быть не должно
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
//# include <iostream>
//# include "TXLib.h"
//using std::cout;
 
class Vector
{
 public:
  Vector ():
     x_ (0),
     y_ (0),
     z_ (0)
     {}
 
  Vector (double x, double y, double z):
     x_ (x),
     y_ (y),
     z_ (z),
     L_ (sqrt((x*x) + (y*y) + (z*z)))
      {}
  
 double x_;
 double y_;
 double z_;
 double L_;
 
 void Dump ()
    {
  //   cout << "\n Start Dump: ";
  //   cout << "\n            x = " << x_;
   //  cout << "\n            y = " << y_;
  //   cout << "\n            z = " << z_;
 //    cout << "\n End Dump";
  //   getch();
    }
 
 Vector operator + (const Vector & two)
    {
     return Vector (x_ + two.x_, y_ + two.y_, z_ + two.z_);
    }    
 
 Vector operator - (const Vector & two)
    { 
     Vector d (x_, y_, z_);
     Vector c (-two.x_, -two.y_, -two.z_);
     return  d + c;
    }     
 
 Vector operator / (double a)
    {
     return Vector (x_ / a, y_ / a, z_ / a); 
    } 
 
 double operator * (Vector &b)
   {
    return  ((x_ * b.x_) + (y_ * b.y_) + (z_ * b.z_));
   }  
 
 Vector operator * (int a)
    {
     return Vector (x_ * a, y_ * a, z_ * a); 
    } 
 
};
 
double operator ^ (Vector &a, Vector &b)
   {
    return (((a * b) / (a.L_ * b.L_))); 
   } 
 
Vector Norm (Vector a)
   {
    return (a / a.L_);
   }
 
Vector operator * (int a, Vector & vect)
   {
    return Vector (vect.x_ * a, vect.y_ * a, vect.z_ * a);
   }
 
double St (int Step, double number)
{
 double value = number;
 for (int i = 0; i < Step; i++) {value = value * number;}
 return value; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2012, 20:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос переопределение операторов (C++):

Переопределение операторов С++ - C++
Помогите разобраться с переопределением операторов, как что и куда записывается, какие параметры. Если можно, ссылку на полезную статью, в...

Переопределение операторов - C++
Доброго времени суток.. В древние времена, когда ещё жили мамонты, ковырял я потихоньку плюсы.. Потом был долгий перерыв, и, как итог -...

переопределение операторов - C++
Стоит следующая задача. Надо сделать массив чар, которые представляют собой строку (специально делать так, а не через string) и надо...

Переопределение операторов - C++
Плиз помогите сделать задачку.. Написать класс StrangeInt для которого нижеследующий код StrangeInt x = 5; StrangeInt y = 3; ...

Переопределение операторов - C++
Еще раз об этом интересном вопросе. У меня есть матрицы , условно назовём их тип matrix, есть библиотека, имеющая в своём составе функции...

Переопределение операторов и массивы - C++
Task* operator+=(Task *newTasks) { Task *finalTask = tasks + newTasks; } Error: 1 IntelliSense: выражение должно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Валера101
0 / 0 / 0
Регистрация: 26.08.2011
Сообщений: 3
29.10.2012, 22:01  [ТС] #2
разобрался если кому интересно,
в месте где использовал либу
создавал
Vector* A = new Vector ();
что не есть Vector, короче указатель
а так всё пашет, copypast go go go
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 22:01
Привет! Вот еще темы с ответами:

Создать класс строку в С++. Переопределение операторов - C++
Доброго времени суток. Подскажите пожалуйста в чём ошибка в операторе &gt;&gt;. Когда его вызываю в основной программе, то почему-то компилятор...

Возможно ли переопределение операторов для пользовательских типов? - C++
Собственно преследуемая цель: Определить свой тип int - myint. Переопределить для него операторы как надо. Ну, например, надо мне при...

Переопределение операторов как член-класса и как дружественная функция - C++
Привет. Задача создать класс целых чисел, для него нужно переопределить операторы ++ и + как функции-члены и -- и - как дружественные...

Переопределение операторов, создание класса "Матрица" - C++
Здравствуйте, нужна помощь, уже очень долго не могу понять в чём проблема. Создал класс матрица, не работает простой код. Проблема в...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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