在本文中,您将学习在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; }