鱼C论坛

 找回密码
 立即注册
查看: 1575|回复: 19

c++求助

[复制链接]
发表于 2015-4-26 19:48:37 | 显示全部楼层 |阅读模式
30鱼币
#include <iostream>

class Complex
{
public:
    Complex();
    Complex(double r, double i);
    Complex complex_add(Complex &d);
    void print();

private:
    double real;
    double imag;
};

Complex::Complex()
{
    real = 0;
    imag = 0;
}

Complex::Complex(double r, double i)
{
    real = r;
    imag = i;
}

Complex Complex::complex_add(Complex &d)
{
    Complex c;

    c.real = real + d.real;
    c.imag = imag + d.imag;

    return c;
}

void Complex::print()
{
    std::cout << "(" << real << ", " << imag << "i)\n";
}

int main()
{
    Complex c1(3, 4), c2(5, -10), c3;

    c3 = c1.complex_add(c2);

    std::cout << "c1 = ";
    c1.print();
    std::cout << "c2 = ";
    c2.print();
    std::cout << "c1 + c2 = ";
    c3.print();

    return 0;
}
红色部分都是什么意思?
Complex Complex::complex_add(Complex &d)前面两个Complex是什么意思。

omplex_add(Complex &d)又怎么解释?
跪谢各位大神!

最佳答案

查看完整内容

菜鸟路过,望指教 Complex complex_add(Complex &d); 这是类内部函数声明,(可以在类外面实现,也可以不写实现代码) Complex Complex::complex_add(Complex & d) A B C D E F 这是类内函数声明的实现,其中: A表示返回值的类型 B表示是Complex类内部的函数(其中::指定作用域) C是类内部函数声明时的函数名(如果该函数没有该函数的声明则会报错) D是 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-26 19:48:38 | 显示全部楼层
菜鸟路过,望指教

Complex complex_add(Complex &d);
这是类内部函数声明,(可以在类外面实现,也可以不写实现代码)

Complex Complex::complex_add(Complex &   d)
A              B               C                D         E    F
这是类内函数声明的实现,其中:
A表示返回值的类型
B表示是Complex类内部的函数(其中::指定作用域)
C是类内部函数声明时的函数名(如果该函数没有该函数的声明则会报错)
D是该函数的传入值的类型
E表示传入值是引用类型,即没有任何的内存拷贝,就是调用该函数时传入的值
F表示的是传入值的名称。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-26 22:28:16 | 显示全部楼层
Complex Complex::complex_add(Complex &d)
第一个Complex是返回值是一个Complex的对象
第二个Complex是声明这个函数是Complex类中的
complex_add是函数名
(Complex &d)函数的参数是一个Complex类对象的别名

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +2 收起 理由
neverland199109 + 3 + 3 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-26 23:33:14 | 显示全部楼层
我仅仅是看看而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-27 00:05:41 From FishC Mobile | 显示全部楼层
支持一下楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-27 02:39:44 From FishC Mobile | 显示全部楼层
支持一下楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-27 11:23:40 | 显示全部楼层
Complex Complex::complex_add(Complex &d),第一个Complex为返回的函数类型,j就像void代表的是无返回一样;第二个代表的是complex类,加上::告诉我们引用的complex_add函数是类complex的,complex_add(Complex &d)就是一个函数,Complex &d是函数的形参,形参类型 为Complex。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-27 16:03:11 | 显示全部楼层
{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-27 16:46:39 | 显示全部楼层
二楼正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2015-4-27 16:57:12 From FishC Mobile | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-29 11:14:04 | 显示全部楼层
正解!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-30 21:58:52 | 显示全部楼层
第一个Camplex是表示Camplex型指针,指向一个Camplex的地址;
第二句定义的是返回Camplex指针的函数,形参是Camplex类的对象的地址,函数作用是将Camplex的对象d的real加给c.real,image也是一样。最后返回的是Camplex的对象c

评分

参与人数 1荣誉 +3 鱼币 +2 贡献 +2 收起 理由
neverland199109 + 3 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-4 22:21:44 | 显示全部楼层
回复能得鱼币吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-4 22:22:20 | 显示全部楼层
再回复一次呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-4 22:22:52 | 显示全部楼层
不是刷屏!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-4 22:23:56 | 显示全部楼层
鱼必不够!:cry
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-4 22:24:30 | 显示全部楼层
原谅我:loveliness:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-4 22:25:02 | 显示全部楼层
再来一次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-4 22:25:37 | 显示全部楼层
go on!:curse:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 00:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表