![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.10.2011
Сообщений: 16
|
![]()
Нужно определить возвращаемые значения operator >> и<<.программа не идет без них..
# include<iostream> # include<math.h> using namespace std; class Tcomplex { public: float a,b; Tcomplex(float an=0,float bn=0) { a=an; b=bn; } Tcomplex operator = (Tcomplex c) { a=c.a; b=c.b; return (*this); } friend ostream& operator<<(ostream& os, const Tcomplex& tc) { //os<<tc.a<<(tc.b>0?"+":"")<<tc.b<<"i "; os<<tc.a; if(tc.b>0) os<<"+"; os<<tc.b<<"i"; } friend istream& operator>>(istream& is,Tcomplex& tc) { cout<<"введите действительную часть числа "; is>>tc.a; cout<<"введите мнимую часть числа "; is>>tc.b; } void print () { cout<<a<<"+"<<b<<"i"<<endl; } Tcomplex operator + (Tcomplex c) { Tcomplex result; result.a=a+c.a; result.b=b+c.b; return result; } Tcomplex operator - (Tcomplex c) { Tcomplex result; result.a=a-c.a; result.b=b-c.b; return result; } Tcomplex operator * (Tcomplex c) { Tcomplex result; result.a=a*c.a-b*c.b; result.b=b*c.a+c.b*a; return result; } Tcomplex operator / (Tcomplex c) { Tcomplex result; result.a=(a*c.a+b*c.b)/(c.a*c.a+c.b*c.b); result.b=(b*c.a-c.b*a)/(c.a*c.a+c.b*c.b); return result; } void trig () { float alpha; alpha=atan(b/a); cout<<this->getModule()<<"("<<"cos"<<alpha<<"+ i sin"<<alpha<<")"; } double getModule () { return sqrt(a*a+b*b); } }; int main () { Tcomplex c,c1; cin>>c; cout<<"само число: "<<c<<endl; cout<<"введите слагаемое:"<<endl; cin>>c1; cout<<"слагаемое:"<<c1<<endl; cout<<"перегруженный оператор сложения "<<c+c1+c1<<endl; cout<<"перегруженный оператор вычитания "<<c-c1-c1<<endl; cout<<"перегруженный оператор умножения "<<c*c1*c1<<endl; cout<<"перегруженный оператор деления "<<c/c1/c1<<endl; cout<<"модуль первого числа: "<<c.getModule()<<endl; cout<<"тригонометрическая: "; c.trig(); cout<<endl; return 0; } |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
в конце этих функций просто добавь
return is; и return os; соответственно. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.10.2011
Сообщений: 16
|
![]()
Создать множество по принципу стека,перегрузить операторы объединения,пересечения и дополнения множеств.не компилирует..
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Классы с++ | Blad47 | Помощь студентам | 11 | 13.10.2011 20:36 |
классы | Blade47 | Общие вопросы C/C++ | 2 | 05.04.2011 15:29 |
Классы в С++ | Lily-R | Помощь студентам | 1 | 25.09.2010 22:59 |
Классы. | MAKEDON | Общие вопросы C/C++ | 1 | 24.07.2009 18:35 |