J
julia9311
заголовочный файл clas_s.h
файл исходного кода
появляются ошибки
1>c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(39): error C2511: complexExt complexExt:
perator +(complexExt &): перегруженная функция-член не найдена в "complexExt"
1> c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(10): см. объявление "complexExt"
1>c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(47): error C2511: complexExt complexExt:
perator -(complexExt &): перегруженная функция-член не найдена в "complexExt"
1> c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(10): см. объявление "complexExt"
1>c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(55): error C2511: complexExt complexExt:
perator *(complexExt &): перегруженная функция-член не найдена в "complexExt"
1> c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(10): см. объявление "complexExt"
1>c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(66): error C2511: complexExt complexExt:
perator /(complexExt &): перегруженная функция-член не найдена в "complexExt"
1> c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(10): см. объявление "complexExt"
C++:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
class Complex // класс компелексных чисел
{
double re, im; // целая и мнимая части
// создаем конструкторы
public:
Complex() {};
Complex (double r) // конструктор по умолчанию
{
re = r;
im = 0;
}
Complex (double r, double i) // конструктор по умолчанию
{
re = r;
im = i;
}
Complex (Complex &c) // конструктор копирования
{
re = c.re;
im = c.im;
}
~Complex() {}
double abs() // Модуль комплексного числа
{
return sqrt(re * re - im * im);
}
Complex & operator = (Complex &c) // перегрузка оператора присваивания
{
re = c.re;
im = c.im;
return (*this);
}
Complex Complex::operator + (Complex &c) // перегрузка оператора сложения
{
Complex temp;
temp.re = re + c.re;
temp.im = im + c.re;
return temp;
}
Complex Complex::operator - (Complex &c) // перегрузка оператора вычитания
{
Complex temp;
temp.re = re - c.re;
temp.im = im - c.re;
return temp;
}
Complex Complex::operator * (Complex &c) // перегрузка оператора умножения
{
Complex temp;
temp.re = re*c.re;
temp.im = re*c.im;
return temp;
}
Complex Complex::operator / (Complex &c) // перегрузка оператора деления
{
Complex temp;
double r = c.re * c.re + c.im * c.im;
temp.re = (re * c.re + im * c.im) / r;
temp.re = (im * c.re - re * c.im) / r;
return temp;
}
friend ostream &operator<<(ostream &, Complex &); // перегрузка оператора <<
friend istream &operator>>(istream &, Complex &); // перегрузка оператора >>
};
ostream &operator<<(ostream &out, Complex &c)
{
out << "(" << c.re << ") + I (" << c.im << "\n";
return out;
}
istream &operator>>(istream &in, Complex &c)
{
in >> c.re >> c.im;
return in;
}
файл исходного кода
C++:
#include "StdAfx.h"
#include "clas_s.h"
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
class complexExt: public Complex
{
private:
double real; // Действительная часть
double image; // Мнимая часть
public:
complexExt () {}; // Конструктор по умолчанию
complexExt (double r) { real = r; image = 0; } // Конструктор
complexExt (double r, double i) { real = r, image = i; } // Конструктор
~ complexExt () {} // Деструктор
double abs() // Модуль комплексного числа
{
return sqrt(real * real - image * image);
}
complexExt operator+(Complex &); // Перегрузка оператора сложения
complexExt operator-(Complex &); // Перегрузка оператора вычитания
complexExt operator*(Complex &); // Перегрузка оператора умножения
complexExt operator/(Complex &); // Перегрузка оператора деления
// Перегрузка функции-оператора << для вывода класса complexExt
friend ostream &operator<<(ostream &, complexExt &);
// Перегрузка функции-оператора >> для ввода класса complexExt
friend istream &operator>>(istream &, complexExt &);
};
// Перегрузка +
complexExt complexExt::operator+( complexExt &fp1)
{
fp1.real = real + fp1.real;
fp1.image = image + fp1.image;
return fp1;
}
// Перегрузка -
complexExt complexExt::operator-( complexExt &fp1)
{
fp1.real = real - fp1.real;
fp1.image = image - fp1.image;
return fp1;
}
// Перегрузка *
complexExt complexExt::operator*( complexExt &fp1)
{
double i, j;
i = real * fp1.real - image * fp1.image;
j = real * fp1.image + fp1.real * image;
fp1.real = i;
fp1.image = j;
return fp1;
}
// Перегрузка /
complexExt complexExt::operator/( complexExt &fp1)
{
double k, i, j;
k = fp1.real * fp1.real + fp1.image * fp1.image;
i = (real * fp1.real + image * fp1.image) / k;
j = (fp1.real * image - real * fp1.image) / k;
fp1.real = i;
fp1.image = j;
return fp1;
}
// Перегрузка оператора <<
ostream &operator<< (ostream &fo, complexExt &fp)
{
if (fp.image < 0) fo << fp.real << "+i(" << fp.image << ")\n";
else fo << fp.real << "+i" << fp.image << "\n";
return fo;
}
// Перегрузка оператора >>
istream &operator>>(istream &fi, complexExt &fp)
{
cout << "Введите действительную часть: ";
fi >> fp.real;
cout << "Введите мнимую часть: ";
fi >> fp.image;
return fi;
}
int main()
{
// Комплексные числа
complexExt c1, c2, c3, c4, c5;
// Ввод комплексных чисел
cin >> c1;
cin >> c2;
cin >> c3;
cin >> c4;
cin >> c5;
// Вывод комплексных чисел
cout << "\nc1 = " << c1;
cout << "c2 = " << c2;
cout << "c3 = " << c3;
cout << "c4 = " << c4;
cout << "c5 = " << c5 << '\n';
cout << "Модуль c1: " << c1.abs() << "\n\n";
// Вывод результатов операций
cout << "c1 + c2 = " << (c1 + c2);
cout << "c1 - c3 = " << (c1 - c3);
cout << "c1 * c4 = " << (c1 * c4);
cout << "c1 / c5 = " << (c1 / c5);
getch();
return 0;
}
появляются ошибки
1>c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(39): error C2511: complexExt complexExt:

1> c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(10): см. объявление "complexExt"
1>c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(47): error C2511: complexExt complexExt:

1> c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(10): см. объявление "complexExt"
1>c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(55): error C2511: complexExt complexExt:

1> c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(10): см. объявление "complexExt"
1>c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(66): error C2511: complexExt complexExt:

1> c:\users\1\desktop\доработка8154\1\consoleapplication3\consoleapplication3\consoleapplication3.cpp(10): см. объявление "complexExt"