首页  >  文章  >  后端开发  >  C++ 友元函数详解:如何调用友元函数?

C++ 友元函数详解:如何调用友元函数?

WBOY
WBOY原创
2024-04-28 21:57:02303浏览

友元函数允许跨类访问私有或受保护成员,语法为:class ClassName {protected: // 私有或受保护成员};friend 声明友元函数;。要调用友元函数,使用点运算符和类实例:obj.value = 10; printValue(obj);。实战案例中,友元函数用于比较两个字符串长度,访问了私有成员 length()。

C++ 友元函数详解:如何调用友元函数?

C 友元函数详解:深入理解和调用方式

友元函数是 C 中一种特殊类型的函数,它可以访问另一个类的私有和受保护成员。这在需要跨类访问数据或实现特殊功能时非常有用。

友元函数的语法

友元函数的语法如下:

class ClassName {
protected:
  // 私有或受保护成员
};

friend 声明友元函数;

例如:

class MyClass {
protected:
  int value;
};

friend void printValue(MyClass&); // 声明友元函数

调用友元函数

要调用友元函数,可以使用点运算符(.)和类实例:

MyClass obj;
obj.value = 10; // 访问私有成员

printValue(obj); // 调用友元函数

实战案例

以下是一个使用友元函数的实战案例:

// 友元函数用于比较两个字符串的长度
bool compareStringLength(const string& s1, const string& s2) {
  return s1.length() > s2.length();
}

// 测试友元函数
int main() {
  string str1 = "Hello";
  string str2 = "World";

  // 使用友元函数比较字符串长度
  if (compareStringLength(str1, str2)) {
    cout << "str1 is longer than str2" << endl;
  } else {
    cout << "str2 is longer than str1" << endl;
  }

  return 0;
}

在这个例子中,compareStringLength 函数是一个友元函数,可以访问 string 类的私有成员 length()

以上是C++ 友元函数详解:如何调用友元函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn