在本文中,您将学习在C ++编程中将对象传递给函数并从函数返回对象。
在C ++编程中,对象可以通过与结构相似的方式传递给函数。

C ++程序通过将对象传递给函数来添加两个复数。
#include <iostream>
using namespace std;
class Complex
{
private:
int real;
int imag;
public:
Complex(): real(0), imag(0) { }
void readData()
{
cout << "分别输入实数和虚数:"<<endl;
cin >> real >> imag;
}
void addComplexNumbers(Complex comp1, Complex comp2)
{
// real表示对象c3的实际数据,因为使用代码c3.add(c1,c2);可以调用此函数;
real=comp1.real+comp2.real;
// imag代表对象c3的imag数据,因为使用代码c3.add(c1,c2);可以调用此函数
imag=comp1.imag+comp2.imag;
}
void displaySum()
{
cout << "Sum = " << real<< "+" << imag << "i";
}
};
int main()
{
Complex c1,c2,c3;
c1.readData();
c2.readData();
c3.addComplexNumbers(c1, c2);
c3.displaySum();
return 0;
}输出结果
分别输入实数和虚数: 2 4 分别输入实数和虚数: -3 4 Sum = -1+8i
在C ++编程中, 对象可以从函数返回的方式与结构体相似。
在这个程序中,将把复数(对象)的和返回给main()函数并显示出来。
#include <iostream>
using namespace std;
class Complex
{
private:
int real;
int imag;
public:
Complex(): real(0), imag(0) { }
void readData()
{
cout << "分别输入实数和虚数:"<<endl;
cin >> real >> imag;
}
Complex addComplexNumbers(Complex comp2)
{
Complex temp;
//real表示对象c3的实际数据,因为使用代码c3.add(c1,c2);可以调用此函数;
temp.real = real+comp2.real;
//imag代表对象c3的imag数据,因为使用代码c3.add(c1,c2);可以调用此函数
temp.imag = imag+comp2.imag;
return temp;
}
void displayData()
{
cout << "Sum = " << real << "+" << imag << "i";
}
};
int main()
{
Complex c1, c2, c3;
c1.readData();
c2.readData();
c3 = c1.addComplexNumbers(c2);
c3.displayData();
return 0;
}