• 友元函数与友元类


    1.概念

    当一个函数或类被声明为另一个类的友元时,表示它可以直接访问private私有变量,避免成员函数的频繁调用,提高运行效率,但破坏了封装性。

    友元是单向的,不能被继承,且不具有传递性。一个函数可以是多个类的友元函数。

    2.例子

    转自:https://blog.csdn.net/fanyun_01/article/details/79122916

    友元类:

           class A
           {
                  …
           public:
                  friend class B;
                  …
           };    

    友元函数:

    #include <iostream> 
    using namespace std; 
    class Internet 
    { 
        public: 
        Internet(char *name,char *address) // 改为:internet(const char *name , const char *address)
    { 
        strcpy(Internet::name,name); 
        strcpy(Internet::address,address); 
    } 
    friend void ShowN(Internet &obj);   //友元函数的声明 
    public:              // 改为:private
        char name[20]; 
        char address[20]; 
    }; 
    void ShowN(Internet &obj)        //类外普通函数定义,访问a对象的保护成员name,不能写成,void Internet::ShowN(Internet &obj) 
    { 
        cout<<obj.name<<endl;          //可访问internet类中的成员
    }
    void main() 
    { 
        Internet a("谷歌","http://www.google.cn/";); 
        ShowN(a); 
        cin.get(); 
    }
  • 相关阅读:
    自我介绍
    秋季学期总结
    第七周编程总结
    第六周作业
    第五周编程总结
    第四周编程总结
    第三周作业
    第二周作业
    抓老鼠啊~亏了还是赚了
    币值转换
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/14641582.html
Copyright © 2020-2023  润新知