123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #include <iostream>
- using namespace std;
- // Boat类定义
- class Boat {
- private:
- double weight; // Boat的重量,使用double以支持小数
- public:
- // Boat的构造函数
- Boat(double w) : weight(w) {}
- // Boat的析构函数
- ~Boat() {
- cout << "boat is destruction" << endl;
- }
- // 获取Boat的重量
- double getWeight() const {
- return weight;
- }
- };
- // Car类定义
- class Car {
- private:
- double weight; // Car的重量,使用double以支持小数
- public:
- // Car的构造函数
- Car(double w) : weight(w) {}
- // Car的析构函数
- ~Car() {
- cout << "car is destruction" << endl;
- }
- // 获取Car的重量
- double getWeight() const {
- return weight;
- }
- };
- // 友元函数,计算Boat和Car的重量和
- double totalweight(const Boat& b, const Car& c) {
- return b.getWeight() + c.getWeight();
- }
- int main() {
- double boatWeight, carWeight;
- // 从用户输入读取Boat和Car的重量
- cin >> boatWeight >> carWeight;
- // 创建Boat和Car对象
- Boat boat(boatWeight);
- Car car(carWeight);
- // 输出Boat和Car的重量
- cout << "boat's weight:" << boat.getWeight() << endl;
- cout << "car's weight:" << car.getWeight() << endl;
- // 计算并输出总重量
- cout.unsetf(ios::showpoint);
- cout << "total weight:" << totalweight(boat, car) << endl;
- // Boat和Car对象在main函数结束时自动析构
- return 0;
- }
|