AI编程助手
AI免费问答

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

WBOY   2024-04-17 08:42   722浏览 原创

静态函数是类方法,只访问静态成员而不接收 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 <p><strong>友元函数示例:</strong> 打印私有成员的值</p><pre class="brush:cpp;toolbar:false;">class Student {
private:
    int age;

public:
    friend void printAge(Student& student);
};

void printAge(Student& student) {
    cout 

C++免费学习笔记(深入):立即学习
>在学习笔记中,你将探索 C++ 的入门与实战技巧!

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