京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
服务端 / C++ 教程 / C++ 类 & 对象
C++ 对象和函数
C++ Vector(向量)C++ 构造函数

C++ 函数中传递和返回对象

在本文中,您将学习在C ++编程中将对象传递给函数并从函数返回对象。

在C ++编程中,对象可以通过与结构相似的方式传递给函数。

如何将对象传递给函数?

将对象传递给C ++中的函数

示例1:将对象传递给函数

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 ++编程中,  对象可以从函数返回的方式与结构体相似。
从C ++中的函数返回对象

示例2:从函数传递和返回对象

在这个程序中,将把复数(对象)的和返回给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;
}
C++ Vector(向量)C++ 构造函数
上一篇:C++ 构造函数