holyya.com
2025-09-04 08:53:44 Thursday
登录
文章检索 我的文章 写文章
c++中的运算符可以重载为类的成员函数和友元函数
2023-07-05 05:28:08 深夜i     --     --
C++ 运算符重载 类成员函数 友元函数 对象-oriented编程(面向对象编程)

C++是一种面向对象的编程语言,它不仅支持使用运算符进行计算,还支持运算符重载。运算符重载是一种强大的概念,它使得开发人员可以重定义和扩展运算符的功能。

在C++中,运算符可以重载为类的成员函数和友元函数。在成员函数重载中,运算符作为类的成员函数进行定义,它可以访问类的私有成员和公有成员。在友元函数重载中,运算符作为类的友元函数进行定义,它可以访问类的私有成员和保护成员。

例如,让我们考虑重载"+"运算符的一个示例。我们可以通过定义一个名为“operator+”的成员函数或友元函数来实现这个功能。以下是一个名为“Vector”类的示例,它重载了“+”运算符:


class Vector {

public:

  Vector(int x=0, int y=0)

   this->x = x;

   this->y = y;

 

  Vector operator+(const Vector& v) const {

   return Vector(x+v.x, y+v.y);

  }

private:

  int x;

  int y;

};

int main() {

  Vector v1(2, 3);

  Vector v2(4, 5);

  Vector v3 = v1 + v2;

  return 0;

}

在以上示例中,我们首先定义了一个Vector类,该类包含x和y两个私有成员变量。然后,我们重载了“+”运算符,使其实现两个Vector对象之间的加法运算。最后,我们在主函数中使用重载运算符来执行加法操作,并将结果存储在一个新的Vector对象v3中。

总之,重载运算符是C++中一种非常重要的概念,可以使得编程人员能够更加灵活地使用运算符,并扩展其功能。无论是将运算符重载为成员函数还是友元函数,都需要仔细考虑其访问权限,并确保其符合类的设计原则。

  
  

评论区

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