1、 实验目的
(1)学习静态成员的使用
(2)学习常成员的使用
(3)掌握静态数据成员与常数据成员的初始化
2、实验内容
(1)某商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,因此,商店需要记录下目前库存的货物的总重量,现在要求设计一个goods类并使用静态成员来模拟商店货物购进和卖出的情况;
(2)为上面的goods类添加一个常数据成员(货物名称),并对货物名称进行初始化;
(3)将前面已定义的某些成员函数改写为常成员函数,观察是否该类中所有的成员函数是否都可设定为常成员函数。
3、实验步骤
(1)添加一个头文件Goods.h来定义Goods类
#includeusing namespace std;class Goods{public: Goods(int inBox, double inWeight); ~Goods(); void Sell(int outBox, double outWeight); void print();private: int Box; double weight; static int totalBox; static double totalWeight;};Goods::Goods(int inBox, double inWeight){ Box = inBox; totalWeight = inWeight; totalBox = totalBox + inBox; totalWeight = totalWeight = inWeight;}void Goods::Sell(int outBox, double outWeight) { totalBox = totalBox - outBox; totalWeight = totalWeight - outWeight;}void Goods::print() { cout(2)添加一个源文件Goods.cpp来实现成员函数。
(3)在主程序中定义若干个Goods类的对象,模拟进货与卖出的过程。查看运行结果。#include"Goods.h"int main(){ Goods gd(5, 200); gd.Sell(2, 50); gd.print(); getchar(); return 0;}登录后复制
(4)为Goods类添加一个常数据成员const char * name来表示货物名称,改写构造函数及主程序的调用,在构造函数的成员初始化列表中对货物名称赋初值。重新编译,观察运行结果。
立即学习“C++免费学习笔记(深入)”;
(5)将前面已定义的某些成员函数改写为常成员函数,观察是否该类中所有的成员函数是否都可设定为常成员函数。
常数据成员不能更新对象的数据成员,也不能调用该类中的普通成员函数。在常成员函数中绝对不会更新数据成员的值。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2445744.html