1、传值

C++中可以使用传值的方式向函数传递对象,也就是把对象的值复制一份传递给函数,函数操作的是这个复制的值,而不是原有的对象,因此不会影响到原有的对象。代码如下:


#include <iostream>
using namespace std;

class A {
public:
    int a;
    A(int a) {
        this->a = a;
    }
};

void func(A a) {
    cout << a.a << endl;
}

int main() {
    A a(10);
    func(a);
    return 0;
}

2、传引用

C++中也可以使用传引用的方式向函数传递对象,函数操作的是原有的对象,因此会影响到原有的对象,其代码如下:


#include <iostream>
using namespace std;

class A {
public:
    int a;
    A(int a) {
        this->a = a;
    }
};

void func(A &a) {
    a.a = 20;
    cout << a.a << endl;
}

int main() {
    A a(10);
    func(a);
    cout << a.a << endl;
    return 0;
}

3、传指针

C++中还可以使用传指针的方式向函数传递对象,函数操作的是原有的对象,因此会影响到原有的对象,其代码如下:


#include <iostream>
using namespace std;

class A {
public:
    int a;
    A(int a) {
        this->a = a;
    }
};

void func(A *a) {
    a->a = 20;
    cout << a->a << endl;
}

int main() {
    A a(10);
    func(&a);
    cout << a.a << endl;
    return 0;
}

C++中可以使用传值、传引用和传指针的方式向函数传递对象,具体使用哪种方式,要根据实际情况来确定。