类与类之间可以继承,也可以调用,下面的代码是演示Circle类是如何调用Point类的
#include<iostream>
using namespace std;
class Point{
private:
int x, y;
public:
void initPoint(int a, int b);
double getX(){
return x;};
double getY(){
return y;};
void print();
};
void Point::initPoint(int a, int b){
x=a;
y=b;
}
void Point::print(){
cout<<'['<<x<<','<<y<<']';
}
class Circle{
private:
double r;
Point c;
public:
void initCircle(double R, Point C);
double getR(){
return r;};
Point getC(){
return c;};
double area(){
return 3.14*r*r;};
void print();
};
void Circle::initCircle(double R, Point C){
r=(R>=0?R:0);
c=C;
}
void Circle::print(){
cout<<"c=";
c.print();
cout<<";r="<<r<<endl;
}
int main(){
Point myPoint;
Circle myCircle;
myPoint.initPoint(2,2);
myCircle.initCircle(2.0,myPoint);
myCircle.print();
cout<<"center=";
myCircle.getC().print();
cout<<endl;
cout<<"area="<<myCircle.area()<<endl;
return 0;
}
运行结果:
c=[2,2];r=2
center=[2,2]
area=12.56