friend void fun(); 类的友元函数

来源:互联网 发布:南京睿悦怎么样 知乎 编辑:程序博客网 时间:2024/06/05 12:00
#include<iostream>
using namespace std;
const float PI=3.141593;


class Circle;
class  Cylinder{
private:
    double h;
public:
    Cylinder(double h1) :h(h1){} // 构造函数
    void  Volume(Circle&ci); // 先声明,函数定义写在Circle定义的后面
};


class  Circle{
private:
    double x;  double y;  double r;
public:
    Circle(double x1,double y1,double r1) :x(x1),y(y1),r(r1){} // 构造函数
    friend  void Cylinder::Volume(Circle&ci) ; // ok,声明为友元函数
};


void  Cylinder::Volume(Circle&ci) // 定义写在Circle后面,不然不能调用其成员
{
    double m=PI*ci.r*ci.r*h;
    cout<<"体积为"<<m;
}


int main()
{
    Circle ci(12.0,15.0,10.0);
    Cylinder cy(10.0) ;
    cy.Volume(ci) ; // 调用
while(1);
    return 0;
}
0 0
原创粉丝点击