qq_45735316 2020-03-20 11:08 采纳率: 94.1%
浏览 380
已采纳

怎样在类的一个对象中调用另一个对象?这样报错的原因是什么?

/*4. 建立一个复数类 Complex,要求
(1) 含两个私有数据成员:real, imaginary,float类型
(2)公有成员函数包括如下功能:
设置复数的两个私有成员
输出这个复数
与另一复数的加法函数 原型为 add (Complex c);
判断与另一复数是否相等isEqual(Complex c);
在main函数中,输入两个复数,判断两个复数是否相等
(实部和虚部要分别相等),
然后两者相加之和赋值给一个新的复数,并输出*/

#include <iostream>
using namespace std; 

class Complex{
    public:
        void getRI(float R,float I);     //设置复数的两个私有成员
        void output();                   //输出这个复数
        void add(Complex c);             //与另一复数的加法函数 原型为 add (Complex c);
        void isEqual(Complex c);         //判断与另一复数是否相等
    private:
        float real,imaginary;
};
void Complex::getRI(float R,float I){
    real=R;
    imaginary=I;
}
void Complex::output(){
    cout<<"此复数为:"<<real<<"+"<<imaginary<<"i"<<endl; 
}
void Complex::add(Comeplex c){
    cout<<"两复数相加为:";
    cout<<real+c.real<<"+"<<imaginary+c.imaginary<<"i"<<endl;
}
void Complex::isEqual(Comeplex c){
    if(real==c.real)
    {
        if(imaginary==c.imaginary)
            cout<<"They are equal."<<endl;
    }
    else
        cout<<"They are not equal."<<endl;
}
int main(int argc, char** argv) {
    Complex myComeplex,c;             //定义两个对象
    float R1,I1,R2,I2;
    cin>>R1>>I1;
    cin>>R2>>I2;
    myComplex.getRI(R1,I1);
    c.getRI(R2,I2);
    cout<<"复数myComplex为:";
    myComplex.output();
    cout<<"复数c为:";
    c.output();
    myComplex.add(Complex c);
    myComplex.isEqual(Complex c);
    return 0;
}

图片说明

  • 写回答

2条回答 默认 最新

  • BugM 2020-03-20 12:06
    关注

    首先,你的类名为Complex,但是有的参数类型的类名为Comeplex(类名不一致,多了个e),包括main函数中的Complex myComplex;也多了个e
    请仔细检查所有类名是否一致!

    其次,myComplex.add(Complex c);
    函数调用的时候不用也不可以包含两类型名,应该写成myComplex.add(c);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c