编译器: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;
}
本文介绍了如何在C++中设计PENCIL、RULER、ERASER和BOX四个类,包括构造函数、析构函数以及Show()成员函数,展示了如何实例化并操作这些文具类对象。
645

被折叠的 条评论
为什么被折叠?



