Итак, я работаю над «ШАБЛОНАМИ», и мне нужно сделать 3 попытки функции PrintMax - очевидно, что она делает - для печати максимального элемента в массиве из 3 элементов, каждая попытка предназначена для разных данных введите в этот массив -double/int/complex-. Поэтому мне нужно сначала создать класс Complex и его необходимые перегрузки операторов, после чего я использую функцию PrintMax в качестве функции шаблона для работы с тремя типами массивов.
Проблема здесь, конечно, в третьем массиве, я не могу записать элементы Complex в массив в этом for ( a + bi ), потому что это мой класс Complex :
class Complex
{
private :
int imaginary;
int real;
public:
Complex (int = 0, int = 0);
~Complex ();
int getImaginary();
int getReal();
void setImagniary(int i);
void setReal (int r);
bool operator > (Complex&);
};
Вы можете заметить, я перегрузил оператор > для проверки, но у меня также есть небольшая проблема, помимо того, что я не могу писать элементы таким образом, вторая проблема в том, что я не могу - или сонный и мой мозг умирает - вычислить, что максимум в этом массиве комплексных чисел:
// Input: Complex Array
// 1+3i, 2+4i, 3+3i
// Expected Output: 2+4i
Итак, я хочу назначить их в массиве в такой форме: Arr[3] = {1+3i, 2+4i, 3+3i};
Почему это ожидаемый результат, а не 3+3i?
Спасибо за чтение ~
std::complex
. - person cbel   schedule 15.05.2014