友元

原创 2018年04月15日 18:44:36

一个类的友元可以访问这个类的私有成员。

“Only your friend can touch your private,neither your parents nor your children."


注意:

class Tv;
class Remote{...};
class Tv {...};

Remote 是Tv的友元 

Remote当中的函数提到了Tv,因此Tv要先做一个前向声明。

顺序不能颠倒为

class Remote

class Tv

class Remote

编译器在Tv类中声明看到remote的一个方法被声明为Tv类的友元之前,应该

先看到Remote类的声明和set_chan()方法的声明。




c++友元实现操作符重载

运算符重载的本质是一个函数#include using namespace std;class A { private: int m_a; int m_b; friend A ...
  • sjtu_chenchen
  • sjtu_chenchen
  • 2015-08-22 16:14:29
  • 1988

c++ 友元模板类的定义

友元概念就不罗嗦了,使用也简单,就两种形式:1.友元函数:friend ret-type classname::funname(....);2.友元类:friend class classname;唯...
  • ustc_dylan
  • ustc_dylan
  • 2009-04-12 16:59:00
  • 4891

C++中的友元——编程界的老王

c++中友元类可以访问类的所有域,简直是编程世界的老王。
  • qyvlik
  • qyvlik
  • 2015-08-09 13:13:07
  • 1055

C++运算符重载(注意点),友元(使用和优缺点)

运算符重载实例代码class A{ public: int a,b; A(int _a=0,int _b=0):a(_a),b(_b){} A operator+(A & tm...
  • qq_26437925
  • qq_26437925
  • 2016-12-26 19:12:41
  • 644

通过友元实现输入输出的重载

实现输入输出的重载
  • qq_35116371
  • qq_35116371
  • 2016-10-13 20:26:37
  • 329

输出运算符重载<<为什么一定要使用友元呢

因为当我们使用成员函数的时候,比如 Coordinate operator+(const Coordinate &coor) { Coordinate temp; temp.m_iX = this0>...
  • gotowu
  • gotowu
  • 2016-05-25 21:01:19
  • 1481

友元关系和继承

问题:在c++primer(中文第四版)第15.2.6节,讲了友元关系在类继承上的有效性,其中注解部分强调:        (1)友元关系不能继承。(2)基类的友元对派生类的成员没有特殊的访问权限。(...
  • shiquxinkong
  • shiquxinkong
  • 2013-12-09 19:57:20
  • 1150

实例详解C++友元

在说明什么是友元之前,我们先说明一下为什么需要友元与友元的缺点:   通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为public(共用的),然而这做带来的...
  • ice197983
  • ice197983
  • 2007-04-06 15:03:00
  • 1091

友元关系

//友元关系提供了不同类或对象的成员函数之间,类的成员函数与一般函数之间进行数据共享的机制 class Point { public: Point(int xx=0,int yy=0) { ...
  • Sun19910114
  • Sun19910114
  • 2014-08-25 19:09:59
  • 483

VC6.0对友元的支持问题

#include using namespace std; class MyString { public: MyString(char *ptr=NULL); ~MyString();...
  • fengxiaoning900
  • fengxiaoning900
  • 2014-11-11 16:09:52
  • 513
收藏助手
不良信息举报
您举报文章:友元
举报原因:
原因补充:

(最多只允许输入30个字)