scflcp.cn scflcp.cn

欢迎光临
我们一直在努力
顶部
域名
云服务器48/月

C++ 友元函数的声明规则有哪些?-C++-

友元函数声明规则如下:声明必须位于类的外部。可以声明为成员函数或全局函数。可通过指针或引用传递类的对象。

C++ 友元函数的声明规则有哪些?

C++ 友元函数的声明规则

友元函数声明

友元函数是一种特殊的函数,可以访问类的私有成员。要在 C++ 中声明友元函数,使用 friend 关键字,如下所示:

// 声明 MyClass 类的友元函数 printInfo()
friend void printInfo(const MyClass& obj);
登录后复制

声明规则

以下是在 C++ 中声明友元函数的规则:

  • 友元函数的声明必须位于类的外部。
  • 友元函数可以声明为成员函数(带作用域解析符)或全局函数(不带作用域解析符)。
  • 可以通过指针或引用来传递类的对象。

实战案例

考虑以下 MyClass 类,它有私有成员变量 _data

class MyClass {
private:
    int _data;
public:
    // ...
};
登录后复制

我们可以定义一个友元函数 printInfo() 来访问 _data

// 声明 printInfo() 为 MyClass 的友元函数
friend void printInfo(const MyClass& obj) {
    std::cout << "Data: " << obj._data << std::endl;
}
登录后复制

在主函数中,我们可以实例化 MyClass 对象并调用友元函数来打印私有数据:

int main() {
    MyClass obj;
    obj._data = 42;  // 访问私有成员(仅在友元函数中允许)
    printInfo(obj);  // 调用友元函数
    return 0;
}
登录后复制

输出:

Data: 42
登录后复制

以上就是C++ 友元函数的声明规则有哪些?的详细内容,更多请关注php中文网其它相关文章!

【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。
-六神源码网 -六神源码网