不能将友元说明为虚函数,但虚函数可以是另一个类的友元
因为在一个类里声明友元时 由于友元不是自己的成员函数 自然在自己的类里不能把它声明为虚函数
但是在友元本身可以是虚函数
注意 友元是另外一个类的成员函数(在那个类里 它可以定义为虚函数)
这个类将它声明为自己的友元,只是让它可以存取自己的私有变量
代码如下:
1 public class A
2 {
3 private:
4 int d;
5 public:
6 friend B::Geta(A &a);
7 }
8
9 public class B
10 {
11 public:
12 virtual int Geta(A &a)
13 {
14 return a->d;
15 }
16 }
这里Geta是class B的一个虚拟成员函数
同时它也是class A的一个友元函数,所以他能够存取A的私有变量d

浙公网安备 33010602011771号