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

Как совместить код, реализующий методы и перегружаемые операции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить максимальный по модулю элемент массива http://www.cyberforum.ru/cpp-beginners/thread273824.html
Помогите написать программу в Visual Studio 2008. В одномерном массиве, состоящем из n вещественных элементов, вычислить: а) максимальный по модулю элемент массива; б) преобразовать массив...
C++ пожалуйста решите. для вас эт ерунда(чем быстре тем лучше) Надо решить так то наброки есть но не получается некоторые детали а времени нет разобраться. Составить блок-схему алгоритма, программу и описание для следующих задач: 1 .Напечатать те элементы... http://www.cyberforum.ru/cpp-beginners/thread273820.html
Алгоритм Бота C++
Всем привет) Нужна помощь. Я пытаюсь писать алгоритм для бота в крестиках ноликах 5 вряд. Вот нашел описание алгоритма в нете, вот оно: Итак сyть оценочной фyнкции - оценить насколько выгодно...
Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение C++
Работа с массивами:
C++ Подсчитать количесво пропичных букв. http://www.cyberforum.ru/cpp-beginners/thread273795.html
Как подсчитать количество прописных букв в С++:appwizzard?
C++ использование цвета текста в borlande вопрос думаю простой, но информации не нашла. чтобы задать цвет вывода используется textcolor мне надо чтобы текст не печатался новым цветом, а определенная строка меняла цвет после нажатия... подробнее

Показать сообщение отдельно
Villya
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 32

Как совместить код, реализующий методы и перегружаемые операции - C++

11.04.2011, 23:14. Просмотров 1224. Ответов 4
Метки (Все метки)

Есть такое задание:::
Разработать класс «Вектор» – Vektor размерности n . Определить несколько конструкторов, в том числе конструктор копирования. Реализовать методы для вычисления модуля вектора, скалярного произведения, сложения, вычитания, умножения на константу. Перегрузить операции сложения, вычитания, умножения, инкремента, декремента, индексирования, присваивания для данного класса

Я реализовал класс Vektor, определить несколько конструкторов, реализовать методы для вычисления модуля вектора, скалярного произведения, сложения, вычитания, умножения на константу
Код рабочий
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
131
132
133
134
135
#include "stdafx.h"
#include <iostream>
#include <math.h>
const int N=10;
using namespace std;
class Vektor {
        float a1, a2, b1, b2; // значения координат
public:
    Vektor::Vektor(float i,float j, float k, float m)
    {a1 = i; a2 = j; b1 = k; b2 = m;}
double Modul();
    float SkalyarProizv();
    float Sloshenie1();
    float Sloshenie2();
    float Vuchitenie1();
    float Vuchitenie2();
    float UmnoshenieNaConstanty1();
    float UmnoshenieNaConstanty2();
}
double Vektor::Modul()
{return sqrt(a1*a1-b1*b1+a2*a2-b2*b2);}
float Vektor::SkalyarProizv()
{return a1*b1+a2*b2;}
float Vektor::Sloshenie1()
{return a1+b1;}
float Vektor::Sloshenie2()
{return a2+b2;}
float Vektor::Vuchitenie1()
{return a1-b1;}
float Vektor::Vuchitenie2()
{return a2-b2;}
float Vektor::UmnoshenieNaConstanty1()
{return N*(a1*b1);}
float Vektor::UmnoshenieNaConstanty2()
{return N*(a2*b2);}
void main ()
{float V1,V2,F1,F2;
cin>>V1>>V2>>F1>>F2;
Vektor VV(V1,V2,F1,F2);
cout<<"Вычисление модуля вектора:="<<VV.Modul()<<endl;
cout<<"Вычисление скалярного произведения вектора:="<<VV.SkalyarProizv()<<endl;
cout<<"Сложение векторов:="<<VV.Sloshenie1()<<","<<VV.Sloshenie2()<<endl;
cout<<"Вычитание векторов:="<<VV.Vuchitenie1()<<","<<VV.Vuchitenie2()<<endl;
cout<<"Умножение векторов на константу:="<<VV.UmnoshenieNaConstanty1()<<","<<VV.UmnoshenieNaConstanty2()<<endl;
}
 
[size="1"][color="grey"][I]Добавлено через 8 минут[/I][/color][/size]
Также перегрузил операции кроме индексирования
Vektor operator+(Vektor ob2);
    Vektor operator-(Vektor ob2);
    Vektor operator*(Vektor ob2);
    Vektor operator++(Vektor ob2);
    Vektor operator--(Vektor ob2);
    Vektor operator=(Vektor ob2);
};
// Перегрузка оператора + относительно класса coord
Vektor Vektor::operator+(Vektor ob2)
{
    Vektor temp;
 
    temp.a1 = a1 + ob2.b1;
    temp.a2 = a2 + ob2.b2;
    return temp;
}
 
// Перегрузка оператора - относительно класса coord
Vektor Vektor::operator-(Vektor ob2)
{
    Vektor temp;
    temp.a1 = a1 - ob2.b1;
    temp.a2 = a2 - ob2.b2;
    return temp;
}
// Перегрузка оператора - относительно класса coord
Vektor Vektor::operator*(Vektor ob2)
{
    Vektor temp;
    temp.a1 = a1 * ob2.b1;
    temp.a2 = a2 * ob2.b2;
    return temp;
}
// Перегрузка оператора - относительно класса coord
Vektor Vektor::operator++(Vektor ob2)
{
    Vektor temp;
    temp.a1 = ++;
    temp.a2 = ++;
    temp.b1 = ++;
    temp.b2 = ++;
    return temp;
}
// Перегрузка оператора - относительно класса coord
Vektor Vektor::operator*(Vektor ob2)
{
    Vektor temp;
    temp.a1 = --;
    temp.a2 = --;
    temp.b1 = --;
    temp.b2 = --;
    return temp;
}
// Перегрузка оператора = относительно класса coord
Vektor Vektor::operator=(Vektor ob2)
{
    Vektor temp;
    temp.a1 = b1;
    temp.a2 = b2;
    return temp; // возвращение объекта, которому присвоено значение
}
 
Вот помогите мне включить их в [U]void main[/U]
Также существует ошибка в ++ и --
я наверно, что не так сделал
 
[size="1"][color="grey"][I]Добавлено через 3 минуты[/I][/color][/size]
#include "stdafx.h"
#include <iostream>
в первом коде забыл поставить ;
#include <math.h>
const int N=10;
using namespace std;
class Vektor {
float a1, a2, b1, b2; // значения координат
public:
Vektor::Vektor(float i,float j, float k, float m)
{a1 = i; a2 = j; b1 = k; b2 = m;}
double Modul();
float SkalyarProizv();
float Sloshenie1();
float Sloshenie2();
float Vuchitenie1();
float Vuchitenie2();
float UmnoshenieNaConstanty1();
float UmnoshenieNaConstanty2();
};
Добавлено через 20 часов 47 минут
как перегрузить 1 операцию и 1 метод, и вывести в Void main
Покажите пример, пожалуйста

Добавлено через 6 часов 29 минут
Хто-небудь помогите с задачей.



ПОМОЩЬ НЕ ЗНАЧИТ РЕШИТЬ ВСЕ, а ПРОСТО ПРИВЕДИТЕ ПРИМЕР КУСОЧЕК(1 МЕТОД + 1 ОПЕРАЦИЯ И ВЫВОД ИХ В VOID MAIN ИЛИ INT MAIN)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru