c++学习笔记之友元函数
生活随笔
收集整理的這篇文章主要介紹了
c++学习笔记之友元函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
友元函數例子代碼功能用來顯示時間
display函數放在time類中作為date類的友元函數
#include<iostream> using namespace std; class date;//類的提前聲明 class time {public:time(int,int,int);void display(date &);private:int hour;int minute;int sec; } ; class date {public:date(int,int,int) ;friend void time::display(date&);private:int month;int day;int year; }; time::time(int h,int m,int s)//定義類time的成員函數 {hour=h;minute=m;sec=s; } void time::display(date&d) {cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;cout<<hour<<":"<<minute<<":"<<sec<<endl; } date::date(int m,int d,int y) {month=m;day=d;year=y; } int main() {time t1(10,13,56);date d1(12,25,2004);t1.display(d1);return 0; }display函數不放在time類中,作為類外的普通函數,然后在time和date類中將display聲明為友元函數。在主函數中調用display函數
#include<iostream> using namespace std; class date;//類的提前聲明 class time {public:time(int,int,int);friend void display(const date&,const time&);private:int hour;int minute;int sec; } ; class date {public:date(int,int,int) ;friend void display(const date&,const time&);private:int month;int day;int year; }; time::time(int h,int m,int s)//定義類time的成員函數 {hour=h;minute=m;sec=s; } void display(const date&d,const time&t) {cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl; } date::date(int m,int d,int y) {month=m;day=d;year=y; } int main() {time t1(10,13,56);date d1(12,25,2004);display(d1,t1);return 0; }將time類聲明為date類的友元類,通過time類中的display函數引用date類對象的私有數據,輸出年月日和時分秒
#include<iostream> using namespace std; class time; class date; {public:date(int,int,int);friend time;private:int month;int day;int year;};date::date(int m,int d,int y):month(m),day(d),day(y){}class time{public:time(int,int,int);void display(const date&);private:int hour;int minute;int sec;};time::time(int h,int m,int s):hour(h),minute(m),sec(s){}void time::display(const date&d){cout<<d.month<<"/"<<d.day<<"/"<<d.year<<endl;cout<<hour<<":"<<minute<<":"<<sec<<endl;}int main(){time t1(10,13,56);date d1(12,25,2004);t1.display(d1);return 0;}?
總結
以上是生活随笔為你收集整理的c++学习笔记之友元函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apollo配置中心热加载mysql_A
- 下一篇: s3c2440移植MQTT