友元类

原创 2005年02月27日 09:53:00

1。类还有友元类,一个友元类可以访问类的私有数据,而非友元类则不能访问类的私有数据,这就实现了类的封装。

2。 一个类作为另一个类的友元时,该类称为友元类。友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息(包括私有成员和保护成员)。
    友元类可以在另一个类的公有部分或私有部分进行说明,说明方法如下:
    friend <类名>; //友元类类名
    使用友元类时注意:
    (1) 友元关系不能被继承。
    (2) 友元关系是单向的,不具有交换性。若类X是类Y的友元,类Y不一定是类X的友元,要看在类中是否有相应的声明。
    (3) 友元关系不具有传递性。若类X是类Y的友元,类Y是Z的友元,类X不一定是类Z的友元

C++中友元(友元函数和友元类)的用法和功能

采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的...
  • adriano119
  • adriano119
  • 2010年09月29日 15:54
  • 54303

C++中友元类使用场合

在C++中我们可以將函数定义成类的友元函数,这样在函数中就可以访问类的私有成员。与函数相同,类也可以作为另一个类的友元类,在友元类中可以访问另外一个类的所有成员。 声明友元类的方法很简单,只需在类中...
  • Rongbo_J
  • Rongbo_J
  • 2015年04月17日 10:48
  • 3701

友元实例:友元类及友元函数

学习了c++这么久,一直没有对友元进行了解,据说友元不是特别好用(据说,不是我说的),因此直到今天才去了解。其实友元确实不是很常用,但友元功能确实很实用,它不但能够释放类中的非公有成员,同时还能保证了...
  • Leeboy_Wang
  • Leeboy_Wang
  • 2011年11月21日 17:40
  • 4708

友元类实例代码

  • 2015年05月19日 19:51
  • 617B
  • 下载

Java类的共同父类Object

Java.lang.Object类是所有Java类的最高层次父类。其内部不存在任何属性,但是存在几个经典方法如下:一.public int hashcode()–功能是返回当前对象的哈希码,系统会自动...
  • yao____yao
  • yao____yao
  • 2016年07月20日 19:08
  • 1337

所有类的基类——Object

Object public class Object java.lang.Object Class Object is the root of the class hierarch...
  • upset7117
  • upset7117
  • 2017年01月10日 15:22
  • 427

C++ 友元类

C++可以将类作为友元 友元类的所有方法都可以访问原始类的私有成员和保护成员,另外,也可以做更严格的控制,只将特定的成员函数指定为另一个类的友元,即友元类的某个成员函数可以访问原始类的私有成员和保护...
  • hezikui1987
  • hezikui1987
  • 2013年07月13日 12:05
  • 679

C++之:友元类

一、文章来由上一篇写了友元函数,这一次写一个姊妹篇,继续深入探究一下友元类。二、定义 友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息(包括私有成员和保护成员)。 当希望...
  • Scythe666
  • Scythe666
  • 2016年03月11日 09:43
  • 1679

类和结构的区别

区别如下: 1.存储类型:结构是值类型,存储在
  • yikeshu19900128
  • yikeshu19900128
  • 2014年10月23日 17:02
  • 1826

UML类图中类与类之间的关系及画法

类与类之间的关系通常有4种,即依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)、实现关系(Realization) 依赖关系(Depen...
  • ILOVESMJ
  • ILOVESMJ
  • 2016年07月18日 10:42
  • 1583
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:友元类
举报原因:
原因补充:

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