静态成员实验
1、编写程序:已有若干只小猫的数据(包括小猫的名字和重量),要求输出这些小猫的重量并计算出小猫的数量和小猫的总重量(要求将小猫的数量和总重量用静态数据成员表示)。
用c++类,定义类cat
#include<iostream>
#include<string>
using namespace std;
class Cat {
private:
string name;
float weight;
static int numOfCats; // 静态数据成员,记录小猫数量
static float totalWeight; // 静态数据成员,记录小猫总重量
public:
Cat(string n, float w) {
name = n;
weight = w;
numOfCats++;
totalWeight += w;
}
void showWeight() {
cout << name << " 的重量为:" << weight << endl;
}
static void showNumOfCats() {
cout << "小猫的数量为:" << numOfCats << endl;
}
static void showTotalWeight() {
cout << "小猫的总重量为:" << totalWeight << endl;
}
};
int Cat::numOfCats = 0;
float Cat::totalWeight = 0;
int main() {
Cat c1("小黄", 2.3);
Cat c2("小白", 1.9);
Cat c3("小花", 3.1);
c1.showWeight();
c2.showWeight();
c3.showWeight();
Cat::showNumOfCats();
Cat::showTotalWeight();
return 0;
}
#include <iostream>
#include <string>
class Cat {
public:
// 构造函数,用于初始化静态数据成员
Cat() {
count = 0;
weight = 0.0;
}
// 成员函数,用于输出每只小猫的重量,并统计小猫的数量和总重量
void printWeight(double w) {
std::cout << "这只小猫的重量是:" << w << std::endl;
count++; // 小猫数量加1
weight += w; // 小猫总重量累加
}
// 静态数据成员,表示所有小猫的数量和总重量
static int count;
static double weight;
};
int Cat::count = 0;
double Cat::weight = 0.0;
int main() {
// 创建 Cat 对象并调用成员函数 printWeight 输出每只小猫的重量
Cat cat1, cat2, cat3;
cat1.printWeight(1.5);
cat2.printWeight(2.0);
cat3.printWeight(1.2);
// 输出所有小猫的数量和总重量
std::cout << "小猫的数量是:" << Cat::count << std::endl;
std::cout << "小猫的总重量是:" << Cat::weight << std::endl;
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: