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

Класс комплексных чисел(подправить) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ООП, разобрать задание. http://www.cyberforum.ru/cpp-beginners/thread285604.html
Составить описание класса для представления комплексных чисел с возможностью задания вещественной и мнимой частей как числами типов double, так и целыми числами. Обеспечить выполнение операций...
C++ справочная система компонентов компьютерной техники - С++ Помогите пожалуйста!!!Тема курсовой-справочная система компонентов компьютерной техники Нужно написать программу на языке С++ Поняла только что необходимо использовать тему классы и можно будет... http://www.cyberforum.ru/cpp-beginners/thread285537.html
Лабораторная на C++. Строки. C++
Очень прошу помочь!) Нужно написать программу на языке C++ с использованием стандартных функций для обработки строк.(не CString) Задан текст, состоящий из слов, записанных через запятые, и...
C++ программа которая по дате находит день недели на который эта дата приходится
Ребята помогите пожалуйста написать программу, можно на с++ или на java или c#. Если не тяжело помогите для зачета нужно пожалуйста!
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread285500.html
задача выводит банные, просматривает и нужно удалять , для простоты скажим удалять всё не пользуясь способом открытия файла. #include"stdafx.h" #include<string.h> #include<fstream>...
C++ симметричная прогонка Всем доброго времени суток! помогите написать симметричную прогонку для трехдиагональной матрицы на С++. пожалуйста подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
29.04.2011, 17:50
Цитата Сообщение от }{@k Посмотреть сообщение
умножение вещественного числа на комплексное,double на комплексное
Одно и то же.

А вообще, код у вас некорректен. На примере оператора * (вашего):
Оператор должен перемножать пару чисел и возвращать результат. У вас же он зачем-то изменяет свой операнд и его же возвращает. Правильный вариант перегрузки:

C++
1
2
3
4
Complex Complex::operator*(const Complex &right) const
{
    return Complex (real * right.real - image * right.image, real * right.image + right.real * image);
}
Вариант для умножения Complex на double:

C++
1
2
3
4
Complex Complex::operator*(double right) const
{
    return Complex (real * right, image * right);
}
Вариант для умножения double на Complex (тут функция будет глобальной, и, поскольку геттеры и сеттеры у вас в классе отсутствуют, её следует объявить в теле класса как дружественную):

C++
1
2
3
4
Complex operator*(double left, const Complex &right)
{
    return right * left;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru