友元和const
来源:互联网 发布:精解windows 10 mobi 编辑:程序博客网 时间:2024/04/29 20:54
在开发应用程序时,一个类经常将另一个类的对象作为自己的成员,这样,在该类中就可以访问另一个类的共有数据和方法了。但是,有些时候需要方位另一个类中的私有数据成员和方法,C++中提供了友元类,在类A中将类B声明为一个友元类,那么在B中就可以访问类A中的私有数据成员和方法了。
::友元关系不能传递。如果A是B的友元,B是C的友元,并不意味着A是C的友元。友元关系也不能够继承,如果A是B的友元,C派生于A,不意味着C是B的友元。
如果雷A是类B的友元,那么类A中的类B对象能够访问B中所有的数据和方法。
有些时候需要限制类A对类B的访问,使其只能通过几个函访问数类B中的私有数据和方法。C++中提供了友元函数,用户可以在类B中将类A中的成果函数声明为友元,通过友元函数限制对类B的访问。
如果类A中的成员函数时类B的友元函数,其在类B中的声明形式为(friend 函数返回值类型 函数名(参数)),这样在类A中的该成员函数内部类B的对象就可以访问类B的所有方法和对象了。
在声明类的方法时,可以使用const关键字,这样就不会改变类中的任何数据成员。对于类中的一些只读方法,应当将其声明为const方法。例如:
int getheight() const;
在开发程序时,对于不想改变类成员数据的函数,应将其声明const方法,这样编译器会帮助开发人员发现错误。
- 友元和const
- const&内联&友元
- C++复习之友元和const修饰类成员
- C++一些注意点之友元函数、虚函数以及const和volatile对象
- C++一些注意点之友元函数、虚函数以及const和volatile对象
- c/c++ 友元函数友元类,及const作用
- 友元和继承
- const *和* const讨论
- const* 和 *const
- const* 和 *const记忆
- 友元模板和编译器
- 友元函数和友元类
- 友元函数和友元类
- 友元类和友元函数
- 友元函数和友元类
- 友元函数和友元类
- 友元函数和友元类
- 友元函数和友元类
- gridview自定义分页
- WPF学习之数据绑定
- Spinner
- 用DataTable显示数据源(自己根据需要构造出来的)
- 关于网络程序编写的两个问题
- 友元和const
- JQuery DataGrid 合并标题
- COM接口指针的传递
- Ext树级联选中子节点
- 韩寒语录
- 用户(User)和用户组(Group)配置文件详解
- jquery操作Cookie插件使用
- Windows2003 sp2 性能对象不全的解决
- Android 获取网络状态及调用网络配置界面(转帖)