c++友元函数和友元类
友元函数就是在类里面声明一个函数
这个函数不属于这个类 而是类外部的函数
这个函数可以是一个普通的外部函数 也可以是一个别的类的成员函数
友元函数的特点 是他可以访问这个类的私有和保护成员和函数 而这在普通的外部函数中无法做到
友元函数不属于类内部函数 所以定义在类内部和定义在类外部没有区别
关于友元函数的声明 友元函数在类内的声明不是一个正式的声明 要想让类的成员函数调用友元函数 要在外部声明
class A {
public:
friend void fun() { //不是一个正式的声明 只是告诉编译器我有访问私有成员的权限
}
void test() {
fun();//错误 因为fun还没有声明 因此不能调用
}
}
//正确做法
class A {
public:
friend void fun() { //不是一个正式的声明 只是告诉编译器我有访问私有成员的权限
}
void test();
}
void fun();//现在外部提前声明
void A::test(){
fun()
}
posted on 2020-11-08 14:17 ShawnMckeown 阅读(63) 评论(0) 编辑 收藏 举报