21xrx.com
2024-12-22 18:33:32 Sunday
登录
文章检索 我的文章 写文章
C++对象作为函数参数的使用
2023-07-14 01:15:47 深夜i     --     --
- C++ - 对象 - 函数参数 - 使用 - 引用

C++中,对象作为函数参数的使用是非常常见的。对象可以作为参数传递给函数,也可以在函数中被修改。

一种常见的使用方法是,将对象作为引用传递给函数。这种传递方式可以避免对象被复制,因此能更快地执行程序。

例如,我们可以定义一个名为“Person”的类,并创建一个名为“Tom”的Person对象。我们想要在函数中修改该对象的名字,可以使用以下代码:

 c++

#include <iostream>

#include <string>

using namespace std;

class Person

public:

  string name;

;

void changeName(Person& p, string newName)

  p.name = newName;

int main() {

  Person Tom;

  Tom.name = "Tom";

  cout << "My name is " << Tom.name << endl;

  changeName(Tom, "Jerry");

  cout << "My new name is " << Tom.name << endl;

  return 0;

}

在上面的代码中,我们定义了一个“changeName”函数,它接收一个Person对象的引用和一个新的名字。函数将Person对象的名字更改为新的名字。

在调用函数时,我们传递了Tom对象的引用和新的名字“Jerry”。在函数中,我们将Tom对象的名字更改为“Jerry”,并在主函数中打印出新的名字。

另一种常见的使用方法是,将对象作为常量引用传递给函数。这种传递方式可以避免对象被修改,因此能更加安全地执行程序。

例如,我们可以定义一个名为“Rectangle”的类,并创建一个名为“rect”的Rectangle对象。我们想要在函数中计算该对象的面积,但不想修改该对象,可以使用以下代码:

 c++

#include <iostream>

using namespace std;

class Rectangle

public:

  int height;

  int width;

;

int getArea(const Rectangle& rect) {

  int area = rect.height * rect.width;

  return area;

}

int main() {

  Rectangle rect;

  rect.height = 10;

  rect.width = 5;

  int area = getArea(rect);

  cout << "The area is " << area << endl;

  return 0;

}

在上面的代码中,我们定义了一个“getArea”函数,它接收一个const Rectangle对象的引用,并计算该对象的面积。在主函数中,我们创建了一个Rectangle对象“rect”,设置其高度为10,宽度为5,并调用“getArea”函数,将计算出的面积存储在“area”变量中,并打印出结果。

总之,C++中对象作为函数参数的使用非常灵活。我们可以使用对象作为引用或常量引用来传递或修改对象,以实现程序中的各种功能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复