zoukankan      html  css  js  c++  java
  • 将普通函数声明为友元函数

     1 //                          display 是一个 是类外定义的  并且 没有用  time 类进行限定的函数  ,  它 是 非成员函数 ,不属于任何类
     2 //          如果没有 在time类的定义体中  声明display 函数为 friend 函数  他是不能引用 time中的私有成员 hour minute sec的
     3 // 现在由于生命了 display 是time类 friend 函数 所以 display 函数可以引用  time 类中的 hour minute sec   但注意在引用这些私有成员的时候 必须加上对象名 
     4 // 因为  display 不是 time 类的成员函数 他们之间是 friend(朋友关系) 没有 this指针' 是不能默认引用 time类的 成员数据的  
     5 #include<iostream>
     6 using namespace std;
     7 class time
     8 {
     9 public:
    10     time(int ,int ,int);                //  声明 构造 函数
    11     friend void display (time &t);   //  声明 dispily 为 time类的  友元函数
    12 private:
    13     int hour;
    14     int minute;
    15     int sec;
    16 };
    17 time::time(int h,int m,int s)       //  定义构造函数 , 给hour minute sec赋初值
    18 {
    19     hour=h;
    20     minute=m;
    21     sec=s;
    22 }
    23 void display(time &t)    //  这是 普通的函数 ,形参t 是 time类对象的  引用
    24 {
    25     cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;
    26 }
    27 int main()
    28 {
    29     time t1(10,13,56);
    30     display(t1);           // 调用函数   实参t1 是  time 类的 对象
    31     return 0;
    32 }
  • 相关阅读:
    Linux上安装软件
    VIM的使用
    Linux命令(系统管理)
    django潜心之路4--模型
    django潜行之路3-模板
    django潜行之路2---视图
    django潜行之路1
    sql基础
    Mysql数据库总结
    反爬虫机制
  • 原文地址:https://www.cnblogs.com/A-FM/p/5235423.html
Copyright © 2011-2022 走看看