C++友元函数访问私有成员
生活随笔
收集整理的這篇文章主要介紹了
C++友元函数访问私有成员
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#include<iostream>
using namespace std;
class CTimeInfo
{
public:
void setTime();//默認(rèn)函數(shù)構(gòu)造
void setTime(int newH,int newM)//帶參數(shù)的成員函數(shù)構(gòu)造
{
hour=newH;
minute=newM;
}
void showTime()
{
cout<<hour<<":"<<minute<<endl;
}
private:
int hour,minute;
friend void showtime12(CTimeInfo);//友元函數(shù)定義,括號里加上類名稱
friend void showtime24(CTimeInfo);//友元函數(shù)定義,括號里加上類名稱
};
void CTimeInfo::setTime()//默認(rèn)函數(shù)在類外初始化
{
hour=0;
minute=0;
}
void showtime12(CTimeInfo x)//友元函數(shù)實(shí)現(xiàn),注意括號里的格式,以及函數(shù)體引用私有成員的格式
{
cout<<(x.hour)%12<<":"<<x.minute<<endl;
}
void showtime24(CTimeInfo x)
{
cout<<x.hour<<":"<<x.minute<<endl;
}
int main()
{
CTimeInfo t1,t2;
t1.setTime();
t1.showTime();
showtime12(t1);
showtime24(t1);
t2.setTime(15,20);
showtime12(t2);
showtime24(t2);
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的C++友元函数访问私有成员的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++实现字符串数组作为函数的参数的反序
- 下一篇: 脉络最清晰的C++高斯消元程序