#include
#include
using namespace std;
struct branch{
int begin,end;
double r,x;
complex
};
int main(){
branch branch1;
branch1.r=1;
branch1.x=2;
branch1.num(branch1.r,branch1.x);// 改为branch1.num=complex
return 0;
}
//楼主:标准complex
"complex
//楼主:你定义的结构体
struct branch{
int begin,end;
double r,x;
complex
};
所以你写诸如:
branch obj;时编译器在“暗地”里是调用了complex的默认构造函数(这时的num.re==0,num.im==0),也就是说此时num已经被初始化了(即已经存在),而能做到初始化就是构造函数的职责,而不管是什么对象只能初始化一下(就像每个人都只出生一次一样),以后再想对它进行修改就不能用构造函数实现,只能用赋值方式。赋值和初始化是不等价的,楼主一定要弄清楚这一点。不明白的话,可以继续问哈,(∩_∩)
先构造一个临时对象:complex temp(YouWant,YouWant);
然后赋值给obj.num;即:obj.num=temp;
就行了。
有问题~~
complex
尖括号里面的 必须是类名 而double 不是一个类故这样是不对滴
其他应该没有什么问题了
看不懂你这个程序啊
。你把实部和虚部封装成类,然后重载运算符输入输出,这样不就很简洁了吗