圆心类,点类,组成,成员初始化器

/*点Point类*/
#ifndef CIRPOINT_H_INCLUDED
#define CIRPOINT_H_INCLUDED
class Point
{
    public:
        Point(int m,int n);//构造函数
        ~Point();//析构函数
        void showPoint()const;//显示函数
        int getx()const;//获取X
        int gety()const;//获取Y
    private:
        int x,y;//圆心坐标
};

#endif // CIRPOINT_H_INCLUDED


/*Point类的具体函数*/
#include <iostream>
using namespace std;
#include "cirpoint.h"

Point::Point(int m,int n)//构造函数
{
    x=m;
    y=n;
    cout <<"point类的构造函数运行\n"<<endl;
}
Point::~Point()
{
    cout <<"point类的析构函数运行"<<endl;
}
int Point::getx()const
{
    return x;
}
int Point::gety()const
{
    return y;
}

void Point::showPoint()const//显示函数
{
    cout <<"("<<getx()<<","<<gety()<<")";
}

/*Circle类*/
#ifndef CIRCLE_H_INCLUDED
#define CIRCLE_H_INCLUDED
#include "cirpoint.h"
#include "iostream"
using namespace std;
class Circle
{
public:
    Circle(int a,const Point &);//构造函数
    ~Circle();//析构函数
    void printf() const;
    double Area() const;
private:
    int r;
    const Point ctp;
};


#endif // CIRCLE_H_INCLUDED


/*Circle函数*/
#include <iostream>
#include "circle.h"
#include "cirpoint.h"

using namespace std;

Circle::Circle(int a,const Point &pos)//成员初始化器初始化const数据成员
    : ctp(pos)
{
    r=a;

    cout<<"\ncircle类的构造函数运行\n"<<endl;
}
Circle::~Circle()
{
    cout<<"circle类的析构函数运行"<<endl;
}

double Circle::Area()const
{
    return 3.14*r*r;
}

void Circle::printf()const
{
    cout <<"圆心的坐标:";
    ctp.showPoint();
    cout <<"\n圆的半径:"<<r;

}

/*主函数*/
#include <iostream>
#include "circle.h"
#include "cirpoint.h"
using namespace std;

int main()
{
    int R;
    Point A(4,5);
    cout <<"请输入R的值:";
    cin >>R;
    Circle O(R,A);
    O.printf();
    cout<<"\n圆的面积:"<<O.Area()<<endl<<endl;
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值