【发布时间】:2012-02-16 08:38:22
【问题描述】:
我这里有一个代码应该询问用户两组实数和虚数。
#include <iostream>
using namespace std;
class Complex {
public:
double r;
double i;
public:
Complex();
void add(Complex, Complex);
void subtract(Complex, Complex);
void print();
};
Complex::Complex() {
r = i = 0;
}
void Complex::add (Complex op1, Complex op2) {
r = op1.r+op2.r;
i = op1.i+op2.i;
}
void Complex::subtract (Complex op1, Complex op2) {
r = op1.r-op2.r;
i = op1.i-op2.i;
}
void Complex::print () {
cout << r << i;
}
int main () {
Complex operand1, operand2, result;
cout << "Input real part for operand one: " << endl;
cin >> operand1.r;
cout << "Input imaginary part for operand one: " << endl;
cin >> operand1.i;
cout << "Input real part for operand two: " << endl;
cin >> operand2.r;
cout << "Input imaginary part for operand two: " << endl;
cin >> operand2.i;
result.add(operand1, operand2);
cout << "The sum is " << result.add << endl;
result.subtract(operand1, operand2);
cout << "The difference is " << result.subtract << endl;
}
但是,当我编译程序时,显示了很多我什至没有得到的错误 (std::basic_ostream)。
我遇到的另一个问题是函数 void::Complex print。 cout 本身应该有一个条件。没有如果,否则。但我不知道该怎么做。
程序必须像这样运行:
输入操作数一的实部:5
输入操作数一的虚数部分:2(虚数的 i 不应该写)
输入操作数二的实部:8
输入操作数 2 的虚部:1(同样,不应输入 i)
/然后它会打印输入的数字/
(5, 2i) //这次是 i
(8, 1i)
/然后是答案/
总和是 13+3i。
差是-3, 1i。 //或 -3, i
请帮帮我!我是 C++ 和 stackoverflow 的新手,非常感谢您的帮助。非常感谢!
【问题讨论】:
-
这是你的学校作业吗?
-
阅读更多关于运算符重载的内容,您应该能够正确编写加法和减法函数。
-
是的,彭纳图尔。我想我做了我能做的,但我的知识仍然缺乏。我需要指导。
-
您使用的是哪个编译器? g++ 可能非常神秘。也许试试铿锵++?如果没有,谷歌个别错误。注入一些精神:D
-
你好,颠倒了!我使用代码块。谢谢!
标签: c++ class object structure