C++(14th for four):友元关系
友元关系我们讲了,设置了private和protected的类无法被其他的类给访问到,但有些类却不得不访问这些类的成员该怎么办呢,这时候要使用到friend class
#include <iostream>
class Computer
{
public:
Computer();
void cout_num();
private:
int num;
friend class Ipad;
};
class Ipad:public Computer
{
public:
void cout_num( Computer *p );
};
Computer::Computer()
{
num = 11;
}
void Computer::cout_num()
{
std::cout << num;
}
void Ipad::cout_num( Computer *p )
{
std::cout <<"我从Ipad中输出p:" <<p->num << std::endl;
p->num = 12;
}
int main()
{
Ipad myipad;
Computer mycomputer;
myipad.cout_num( &mycomputer );
mycomputer.cout_num();
return 0;
}
首先
friend class Ipad;
我们使用了friend class来使得Ipad可以访问到Computer内的private,然后使用
myipad.cout_num( &mycomputer );
来输出并修改private中num,然后用Computer里面的cout_num方法输出num,结果是成功的,num数被修改成了12
我从Ipad中输出p:11
12
页:
[1]