zoukankan      html  css  js  c++  java
  • C++开发系列-友元函数 友元类

    友元函数

    默认一个类的私有属性只能在该类的内部可以直接访问。友元函数申明在内的内部,实现在类的外部可以直接访问类的私有属性。

    class A1
    {
    public:
    	A1()
    	{
    		a1 = 100;
    		a2 = 200;
    	}
    	int getA1()
    	{
    		return this->a1;
    	}
    	//声明一个友元函数
    	friend void setA1(A1 *p, int a1); //这个函数是这个类的好朋友
    	
    protected:
    private:
    	int a1;
    	int a2;
    };
    
    void setA1(A1 *p, int a1)
    {
    	p->a1 = a1;
    }
    void main()
    {
    	A1 mya1;
    	cout<<mya1.getA1()<<endl; 
    	setA1(&mya1, 300); //通过友元函数 修改A类的私有属性
    	cout<<mya1.getA1()<<endl;
    
    	system("pause");
    }
    

    补充:

    • 友元函数声明语句位置与private、public无关。
    • 友元函数通常有个参数为该对象的参数,通过对象参数访问私有成员属性数据

    友元类

    • 若B类是A类的友员类,则B类的所有成员函数都是A类的友员函数
    • 友员类通常设计为一种对数据操作或类之间传递消息的辅助类

  • 相关阅读:
    @ResponseBody和@RequestBoby的作用
    项目Alpha冲刺Day9
    项目Alpha冲刺Day8
    项目Alpha冲刺Day7
    设计模式第三次作业
    项目Alpha冲刺Day6
    树莓派历程笔记
    项目Alpha冲刺Day5
    django获取ip与数据重复性判定
    在django模板中添加jquery
  • 原文地址:https://www.cnblogs.com/CoderHong/p/9120781.html
Copyright © 2011-2022 走看看