the total weight of goods为啥是85
时间: 2024-03-15 11:43:05 浏览: 42
根据您提供的代码,程序创建了两个`goods`对象,一个重量为25,另一个重量为60,因此所有商品的总重量为85。这是因为在创建每个商品对象时,程序会将该对象的重量加入到所有商品的总重量中,所以最后得到的总重量就是所有商品的重量之和,即25 + 60 = 85。程序输出的`The total weight of goods: 85`也证实了这一点。
相关问题
# include class goods { private: static int totalWeight; int weight; public: goods(int w) { weigh=w; totalWeight =w; } goods(goods& gd) { weight=gd.weight; totalWeight =weight; } ~ goods() { totalWeight-=weight; } int getwg() { return weight; } static int getTotal() { return totalWeight; } }; int goods::totalWeight=0; void main() { int w; cout<< “The initial weight of goods: ” < cin>>w; // 输入 25 goods g1(w); cin>>w; // 输入 60 goods g2(w); cout<< “The total weight of goods: ” <
由于您没有提问,我猜测您想让我解释一下这段代码的作用。这是一个简单的 C++ 类示例,名为 goods,它用于记录物品的重量和总重量。该类具有私有变量 weight 和静态变量 totalWeight,分别表示物品的重量和所有物品的总重量。构造函数和析构函数分别用于添加和删除物品的重量,而静态函数 getTotal 则返回所有物品的总重量。在主函数中,通过输入初始化两个物品的重量,并输出所有物品的总重量。
需要注意的是,该代码存在一些问题。第一个构造函数中的变量名应该是 weigh,而不是 weight。此外,由于析构函数中的语句是 totalWeight-=weight,因此在销毁物品时,总重量应该减去该物品的重量,而不是减去当前对象的 weight 成员变量。
# include <iostream.h> class goods{ private: static int totalWeight; int weight; public: goods(int w) weigh=w; totalWeight+=w; goods(goods& gd) weight=gd.weight;totalWeight+=weight: ~ goods() totalWeight-=weight; int getwg() return weight; static int getTotal() return totalWeight: 8 int goods::totalWeight=0: void main0 int w; cout<< " The initial weight of goods: "'<<goods::getTotal()<<endl; cin>>w; // 输入25 goods g1(w): cin>>w;// 输入 60 goods g2(w) cout<< " The total weight of goods:" <<goods::getTotal()<<endl
根据您提供的代码,这是一个C++程序,定义了一个名为`goods`的类,该类具有以下成员:
- `totalWeight`:静态(类级别)变量,用于保存所有商品的总重量。
- `weight`:实例变量,用于表示单个商品的重量。
- `goods(int w)`:构造函数,用于创建新的`goods`实例并设置其重量。在创建新实例时,总重量也会相应增加。
- `goods(goods& gd)`:拷贝构造函数,用于创建新的`goods`实例并设置其重量,该重量与给定的`goods`实例相同。在创建新实例时,总重量也会相应增加。
- `~goods()`:析构函数,用于销毁`goods`实例并将其重量从总重量中减去。
- `getwg()`:用于获取单个商品的重量。
- `getTotal()`:静态函数,用于获取所有商品的总重量。
在`main`函数中,首先输出了所有商品的初始重量(即`totalWeight`的初始值)。然后,程序从用户输入中读取两个整数值,并使用这些值创建两个新的`goods`实例。最后,程序输出所有商品的总重量(即更新后的`totalWeight`值)。
根据上述代码,`the initial weight of goods`应该是指所有商品的初始重量,其值为0,因为在程序开始时还没有创建任何商品实例。
阅读全文