*文具盒*

本文介绍了如何在C++中设计PENCIL、RULER、ERASER和BOX四个类,包括构造函数、析构函数以及Show()成员函数,展示了如何实例化并操作这些文具类对象。

编译器:C++ (g++)

文具盒里有铅笔、尺和橡皮擦。在下面的程序里,定义了铅笔类 PENCIL、尺类 RULER、橡皮擦类 ERASER 和文具盒类 BOX。请完成这四个类的成员函数的设计。
 

#include  <iostream>
#include  <string>
using  namespace  std;

class  PENCIL
{
public:
        PENCIL(int  model);
        ~PENCIL();
        void  Show()  const;
private:
        int  model;
};

class  RULER
{
public:
        RULER(int  length);
        ~RULER();
        void  Show()  const;
private:
        int  length;
};

class  ERASER
{
public:
        ERASER(int  color);
        ~ERASER();
        void  Show()  const;
private:
        int  color;
};

class  BOX
{
public:
        BOX(int  pencil,  int  ruler,  int  eraser);
        ~BOX();
        void  Show()  const;
private:
        PENCIL  pencil;
        RULER  ruler;
        ERASER  eraser;
};
/*  你提交的代码将被嵌在这里  */
int  main()
{
        int  p,  r,  e;
        cin  >>  p  >>  r  >>  e;
        BOX  x(p,  r,  e);
        x.Show();
        return  0;
}

Ans:

//
//BOX
BOX::BOX(int  pencil, int  ruler, int  eraser):pencil(pencil),ruler(ruler),eraser(eraser){
    cout << "创建文具盒" << endl;
}
void BOX::Show() const {
    pencil.Show();
    ruler.Show();
    eraser.Show();
}
BOX::~BOX() {
    cout << "销毁文具盒" << endl;
}
//PENCIL
PENCIL::PENCIL(int model) :model(model) {
    cout << "创建铅笔(型号: " << model << ")" << endl;
};
void PENCIL::Show() const{
    cout << "铅笔(型号: " << model << ")" << endl;
}
PENCIL::~PENCIL() {
    cout << "销毁铅笔(型号: " << model << ")" << endl;
}
//RULER
RULER::RULER(int length) :length(length) {
    cout << "创建尺(长度: " << length << ")" << endl;
};
void RULER::Show() const {
    cout << "尺(长度: " << length << ")" << endl;
}
RULER::~RULER() {
    cout << "销毁尺(长度: " << length << ")" << endl;
}
//ERASER
ERASER::ERASER(int color) :color(color) {
    cout << "创建橡皮擦(颜色: " << color << ")" << endl;
};
void ERASER::Show() const {
    cout << "橡皮擦(颜色: " << color << ")" << endl;
}
ERASER::~ERASER() {
    cout << "销毁橡皮擦(颜色: " << color << ")" << endl;
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值