c++求助
#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是该函数的传入值的类型
E表示传入值是引用类型,即没有任何的内存拷贝,就是调用该函数时传入的值
F表示的是传入值的名称。
Complex Complex::complex_add(Complex &d)
第一个Complex是返回值是一个Complex的对象
第二个Complex是声明这个函数是Complex类中的
complex_add是函数名
(Complex &d)函数的参数是一个Complex类对象的别名
我仅仅是看看而已 支持一下楼主 支持一下楼主 Complex Complex::complex_add(Complex &d),第一个Complex为返回的函数类型,j就像void代表的是无返回一样;第二个代表的是complex类,加上::告诉我们引用的complex_add函数是类complex的,complex_add(Complex &d)就是一个函数,Complex &d是函数的形参,形参类型 为Complex。 {:1_1:}
二楼正解 正解! 第一个Camplex是表示Camplex型指针,指向一个Camplex的地址;
第二句定义的是返回Camplex指针的函数,形参是Camplex类的对象的地址,函数作用是将Camplex的对象d的real加给c.real,image也是一样。最后返回的是Camplex的对象c 回复能得鱼币吗? 再回复一次呢? 不是刷屏! 鱼必不够!:cry 原谅我:loveliness: 再来一次 go on!:curse:
页:
[1]