zoukankan      html  css  js  c++  java
  • 类与类之间的友元函数

    把一个类中的成员函数作为另一个类的友元函数

    class A;//必须申明,因为第8行用到A,但A在其后定义
    
    class B
    {
    private:
    	int date_b;
    public:
    void print_a(const A p);//打印友元类A的数据成员
    
    };
    
    class A
    {
    friend void B::print_a(const A p);	//申明友元,print_a可以访问A的数据成员
    private:
    	int date_a;
    public:
    	A(int a=10):date_a(a)//缺省构造函数
    	{
    	}
    
    };
    
    
    void B::print_a(const A p)//友元的实现,必须在其 友元申明 之后实现
    {
    	cout << p.date_a <<endl;
    }

    友元类

    class A
    {
    friend class B;	//申明友元类,B可以访问A的数据成员
    private:
    	int date_a;
    public:
    	A(int a=10):date_a(a)//缺省构造函数
    	{
    	}
    
    };
    
    class B
    {
    private:
    	int date_b;
    public:
    	void print_a(const A p)//打印友元类A的数据成员
    	{
    		cout << p.date_a <<endl;
    	}
    
    };

    以上两种方式都可以达到从一个类中访问另一个类私有数据成员的目的

    #include<iostream>
    using namespace std;
    
    int main()
    {
    	A a;
    	B b;
    	b.print_a(a);
    
    	return 0;
    }
    

    输出结果为类A中的data_a的值10

  • 相关阅读:
    p67 把特定位置的位变成0,进行与运算
    p65 逻辑与运算
    JavaScript对象和初始面向对象
    JavaScript操作DOM对象
    JavaScript操作BOM对象
    JavaScript基础
    DAO模式
    使用ADO.NET访问数据库
    连接查询和分组查询
    模糊查询和聚合函数
  • 原文地址:https://www.cnblogs.com/TaoR320/p/12680214.html
Copyright © 2011-2022 走看看