面向对象程序实例(对象成员)

本文详细介绍了在C++中设计Point与Circle类的方法,包括属性、构造函数、析构函数及显示属性信息的实现。通过实例展示了如何创建Circle对象,并调用其方法输出属性信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例说明:设计一个Point类,在定义一个Circle类,Circle类对象的圆心属性是Point类对象。要求:

  • 根据需要,合理地设计描述Point类和Circle类的属性和方法
  • 合理地设计类成员的访问控制方式
  • 考虑如何初始化Point类对象和Circle类对象
  • 考虑如何输出Circle类对象的属性信息
  • 用主函数测试类
  • 要求使用多文件实现程序
类名Point
属性X坐标private: int m_nX;
属性Y坐标private:int m_nY;
方法构造函数public: Point(int nX,int nY);
方法析构函数public:~Point();
友元Circle类friend class Circle;
类名Circle
属性圆心private:Point m_pointCenter
属性半径private:int m_nR
方法构造函数public:Circle (int nX,int nY,int nR);
方法析构函数public:~Circle();
方法显示属性信息public:void displayInfo();
//Point.h
class Point
{
  private:
    int m_nX;
    int m_nY;
  public:
    Point(int nX,int nY);
    ~Point();
    friend class Circle;
};

//Point.cpp
#include "Point.h"
#include <iostream>
uisng namespace std;
Point::Point(int nX,int nY)
{
  m_nX=nX;
  m_nY=nY;
  cout<<"Point类构造函数被调用!"<<endl;
}
Point::~Point()
{
  cout<<"Point类析构函数被调用!"<<endl;
}

//Circle.h
#include "Point.h"
class Circle 
{
  private:
    Point m_pointCenter;  //对象成员
    int m_nR;
  public:
    Circle(int nX,int nY,int nR);
    ~Circle();
    void displayInfo();
}
 
//Circle.cpp
#include "Circle.h"
#include <iostream>
uisng namespace std;
Circle::Circle(int nX,int nY,int nR)
{
  m_nR=nR;
  cout<<"Circle类构造函数被调用!"<<endl;
}
Circle::Circle()
{
  cout<<"Circle类构造函数被调用!"<<endl;
}
void Circle::displayInfo()
{
  cout<<"圆心为:("<<m_pointCenter.m_nX<<","<<m_pointCenter.m_nY<<")"<<endl;
  cout<<"半径为:("<<m_nR<<endl;
}

testCircle.cpp
#include "Circle.h"
int main()
{
  Circle c(10,15,5);
  c.displayInfo();
  return 0;
}     
    

运行结果:
Point类构造函数被调用!
Circle类构造函数被调用!
圆心为:(10,15)
半径为:5
Circe类析构函数被调用!
Point类析构函数被调用!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值