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

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;
}
登录后复制
友元函数示例: 打印私有成员的值
class Student {
private:
int age;
public:
friend void printAge(Student& student);
};
void printAge(Student& student) {
cout << "年龄:" << student.age << endl;
}
int main() {
Student student;
student.age = 20;
printAge(student);
return 0;
}
登录后复制
以上就是C++ 静态函数与友元函数有什么区别?的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:叮当号,转转请注明出处:https://www.dingdanghao.com/article/361584.html
