/*点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;
}
#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;
}