臻享优惠价:最高返 500 抵扣券 → 查看活动!>>>

C++ 静态函数与友元函数有什么区别?

静态函数是类方法,只访问静态成员而不接收 this 指针;友元函数不属于类,可以访问所有成员并接收 this 指针。

C++ 静态函数与友元函数有什么区别? - 我爱模板网

C++ 中静态函数与友元函数的区别

静态函数

  • 属于类但并不属于任何特定的对象,也可以称为类方法。
  • 使用 static 关键字声明。
  • 只可以访问类的静态成员。
  • 不会接收 this 指针。

友元函数

  • 不属于任何类。
  • 使用 friend 关键字声明。
  • 可以访问类的所有成员,包括私有成员。
  • 可以接收 this 指针。

表格总结

特征 静态函数 友元函数
类成员资格 不是
访问权限 类静态成员 类所有成员
this 指针 不接收 可以接收
声明方式 static 关键字 friend 关键字

实战案例

静态函数示例: 计算圆的面积

class Circle {
public:
    static double calculateArea(double radius) {
        return 3.14 * radius * radius;
    }
};

int main() {
    double radius = 5.0;
    double area = Circle::calculateArea(radius);
    cout << "圆的面积:" << area << endl;
    return 0;
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
豆包可以帮你高效完成AI问答、AI对话、提供软件相关教程以及解决生活中遇到的各种疑难杂症,还能帮助你进行AI写作、AI绘画等等,提高你的工作学习效率。
!
你也想出现在这里?立即 联系我们吧!
信息
个人中心
购物车
优惠劵
今日签到
搜索