📜  如何通过C++函数传递和返回对象?

📅  最后修改于: 2020-09-25 05:04:30             🧑  作者: Mango

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

在C++编程中,我们可以将对象传递给函数 ,就像传递常规参数一样。

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

// C++ program to calculate the average marks of two students

#include 
using namespace std;

class Student {

   public:
    double marks;

    // constructor to initialize marks
    Student(double m) {
        marks = m;
    }
};

// function that has objects as parameters
void calculateAverage(Student s1, Student s2) {

    // calculate the average of marks of s1 and s2 
    double average = (s1.marks + s2.marks) / 2;

   cout << "Average Marks = " << average << endl;

}

int main() {
    Student student1(88.0), student2(56.0);

  // pass the objects as arguments
   calculateAverage(student1, student2);

    return 0;
}

输出

Average Marks = 72

在这里,我们将两个Student对象student1student2传递给了calculateAverage() 函数。

示例2:C++从函数返回对象

#include 
using namespace std;

class Student {
   public:
    double marks1, marks2;
};

// function that returns object of Student
Student createStudent() {
    Student student;

    // Initialize member variables of Student
    student.marks1 = 96.5;
    student.marks2 = 75.0;

    // print member variables of Student
    cout << "Marks 1 = " << student.marks1 << endl;
    cout << "Marks 2 = " << student.marks2 << endl;

    return student;
}

int main() {
    Student student1;

    // Call function
    student1 = createStudent();

    return 0;
}

输出

Marks1 = 96.5
Marks2 = 75

在此程序中,我们创建了一个函数 createStudent() ,该函数返回Student类的对象。

我们从main()方法调用了createStudent()

// Call function
student1 = createStudent();

在这里,我们将createStudent()方法返回的对象存储在student1