|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<iostream>
using namespace std;
class tet
{
private:
double real;
double imag;
public:
friend tet operator +(tet a,tet b);
// operator double(){return real;}
tet(double a=0,double b=51):real(a),imag(b){}
tet(double r){imag=0,real=r;}
friend ostream& operator <<(ostream& out,tet a)
{
out<<a.real<<" "<<a.imag<<endl;
}
};
tet operator +(tet a,tet b)
{
return tet(a.real+b.real,a.imag+b.imag);
}
int main()
{
tet c1(2,5),c2(5,5),c3;
double a;
c3=5.1+c1;//在这里报错
cout<<c3;
return 0;
}//请问这段代码错在哪,转换函数不应该把5.1改变成一个类吗?
- #include <iostream>
- using namespace std;
- class tet
- {
- private:
- double real;
- double imag;
- public:
- tet operator+(const tet &rhs) const {
- return tet(this->real + rhs.real, this->imag + rhs.imag);
- }
- tet() {imag = 0, real = 51;}
- tet(double a, double b): real(a), imag(b) {}
- tet(double r) {imag = 0, real = r;}
- friend tet operator+(const tet &lhs, const tet &rhs) {
- return lhs.operator+(rhs);
- }
- friend ostream &operator<<(ostream &out, const tet &a)
- {
- out << a.real << " " << a.imag << endl;
- return out;
- }
- };
- int main()
- {
- tet c1(2, 5), c2(5, 5), c3;
- double a;
- c3 = 5.1 + c1;//在这里报了什么错? 看错误提示呀
- cout << c3;
- return 0;
- }
复制代码
|
|