C++友元函数

类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。

class Box{

    double width;

    public:

        friend void printWidth(Boxbox );

        void setWidth(doublewid );

};

// 成员函数定义

void Box::setWidth(double wid ){

    width= wid;

}

void printWidth(Box box ){

// 请注意:printWidth() 不是任何类的成员函数

    /* 因为 printWidth() 是 Box 的友元,它可以直接访问该类的任何成员 */

    printf("Width of box : %f",box.width);

}

调用:

  Box box;

    // 使用成员函数设置宽度

    box.setWidth(10.0);

    // 使用友元函数输出宽度

    printWidth( box );

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 友元函数介绍 为什么要使用友元函数 运算符重载的某些场合需要使用友元。(略) 两个类要共享数据:允许外面的类或函数...
    DeepWeaver阅读 4,645评论 0 0
  • C++ 类 & 对象 类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protec...
    资深小夏阅读 1,198评论 0 0
  • 类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元...
    YZBSXD阅读 1,576评论 0 0
  • 类 & 对象 类定义class Box{ public: double length; // L...
    云之外阅读 5,237评论 0 1
  • 虽然基于Web API的本地UI设计逐渐开始流行,但是大多数传统的桌面设计和数据驱动的Web设计略有不同。 在Ra...
    小鱼儿他老汉阅读 1,738评论 3 1

友情链接更多精彩内容