|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
友元关系
我们讲了,设置了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可以访问到Computer内的private,然后使用
- myipad.cout_num( &mycomputer );
复制代码
来输出并修改private中num,然后用Computer里面的cout_num方法输出num,结果是成功的,num数被修改成了12
|
|