zoukankan      html  css  js  c++  java
  • 友元

    对于类的私有成员只能在类的成员函数内部访问。这样虽然带来了数据隐藏上的好处,但会增加
     程序书写上的麻烦。为了折中考虑,C++中提供了友元的概念。
     
     友元:友元函数、友元类
     在定义一个类时可以把一些函数(包括全局函数和其他类的成员函数)声明为"友元" ,在友元函数
     内部就可以访问类对象的私有成员。
         将其它类的成员函数声明为友元的写法:
             friend 返回值类型 其他类的类名::成员函数名(参数表);
      但是不能将其它类的私有成员函数声明为友元。

    class CDriver{
        public:
            void ModifyCar(CCar *pCar);
    };
    
    class CCar{
        private:
            int price;
        // 声明友元
        friend int MostExpensiveCar(CCar *car, int total);
        friend void CDriver::ModifyCar(CCar *pCar); 
    }; 

      一个类可以将另一个类声明为自己的友元,这样这个类的私有成员就可以被另一个类访问

    class CCar{
        private:
            int price;
            
        // 声明为友元类 
        friend class CDriver;  
    }; 
    
    class CDriver{
        public:
            CCar myCar;
            void ModifyCar(){
                myCar.price += 2000;
            }
    };
  • 相关阅读:
    Django前后端分离项目部署
    python虚拟环境设置
    pandas高级操作
    Auth模块
    Django中间件
    CSRF(Cross-site request forgery)跨站请求伪造
    cookie与session组件
    创建多对多表关系的三种方式
    form组件
    python2和python3的区别
  • 原文地址:https://www.cnblogs.com/lnlin/p/7587990.html
Copyright © 2011-2022 走看看