C++ 友元类的学习与使用
来源:互联网 发布:守望先锋短十字数据 编辑:程序博客网 时间:2024/05/08 01:41
类是面向对象的基础,其中一个重要特征就是数据的封装性与屏蔽性,但有时候有需要一个类访问另一个类的数据成员,这时就需要友元类或者友元函数了,下面是自己写得一个简单的友元类,它的声明方式是friend class name:
Time.cpp
最有总结下:
Date.h
class Time;class Date{public: Date(int, int, int); void display(Time&); //friend void Time::display(Date&);private: int month; int day; int year;};Time.h
class Date;class Time{public: Time(int, int, int); friend class Date;private: int hour; int minute; int second;};Date.cpp
#include "Date.h"#include "Time.h"#include <iostream>using namespace std;Date::Date(int m, int d, int y){ month = m; day = d; year = y;}void Date::display(Time& t){ cout << month << "/"<< day << "/" << year << endl; cout << t.hour << ":" << t.minute << ":" << t.second << endl;}
Time.cpp
#include "Time.h"Time::Time(int h, int m, int s){ hour = h; minute = m; second = s;}
#include "Time.h"#include "Date.h"int main(){ Time t1(10, 13, 56); Date d1(12, 25, 2004); d1.display(t1); return 0;}
最有总结下:
1、友元类是单向的不是双向的
2、友元类的关系不能传递
运行结果是:
0 0
- C语言--无类型指针void*的学习与使用
- C++ 友元类的学习与使用
- 学习笔记---C语言中全局变量,变量,常量的定义与使用
- c语言学习——字符数组与字符串的使用详解
- Occlusion_query的学习与使用
- JUnit的学习与使用
- Ajax的学习与使用
- Occlusion_query的学习与使用
- maven的学习与使用
- Jsoup的学习与使用
- EventBus的学习与使用
- splint的学习与使用
- git的学习与使用
- MUI 的学习与使用
- JSON的学习与使用
- Memcached的学习与使用
- ViewController的学习与使用
- Redis的学习与使用
- Eclips运行cocos-js报错Multiple dex files define Lcom/chukong/cocosplay/client/CocosPlayClient;
- Android中的USB中的UsbAccessory和UsbDevice的区别
- 【HPU】[1006]DNA
- 【Usaco2015 dec 】Counting Haybales
- Java代理 Notes
- C++ 友元类的学习与使用
- 递归实现全排列
- javascript 对象1
- VS2013等系列应用程序启动Logo(支持bmp/png/gif等任意图片格式)
- Adapter的getView方法
- 核桃的数量
- android中gson与jackson比较
- poj 1321 棋盘问题
- Java的枚举值能不能用==比较?