当前位置: 首页 > web >正文

【C++】入门题目之定义Dog类

相信你是最棒哒!!!

文章目录

一、问题描述

二、题目代码

1.解析版

2.简洁版

总结


一、问题描述

定义一个Dog类,包含age, weight等数据成员,以及对这些数据成员操作的方法。实现并测试这个类。

前置代码:

#include<iostream>

using namespace std;

//请在此处定义dog类

后置代码:

int main()

{

         Dog Jack(2,10);

         cout<<"Jack is a Dog who is ";

         cout<<Jack.getAge()<<" years old and "<<Jack.getWeight()<<" pounds weight"<<endl;

         Jack.setAge(7);

         Jack.setWeight(20);

         cout<<"Now Jack is ";

         cout<<Jack.getAge()<<" years old and "<<Jack.getWeight()<<" pounds weight."<<endl;

         return 0;

}

输出样例:

Jack is a Dog who is 2 years old and 10 pounds weight

Now Jack is 7 years old and 20 pounds weight.

二、题目代码

1.解析版

// 包含标准库头文件(注意:<bits/stdc++.h>是非标准头文件,仅适用于竞赛/学习环境)
// 在实际项目中建议使用具体的头文件如<iostream>
#include<bits/stdc++.h>
using namespace std;  // 使用标准命名空间(简化代码,但在大型项目中可能造成命名冲突)// Dog类定义
class Dog {// 私有成员变量(封装数据,外部不能直接访问)int age;     // 狗的年龄int weight;  // 狗的体重public:// 构造函数:初始化狗的年龄和体重// 参数:a - 年龄,w - 体重Dog(int a, int w) {age = a;      // 初始化年龄weight = w;   // 初始化体重// 注:更推荐使用成员初始化列表:Dog(int a, int w) : age(a), weight(w) {}}// 获取年龄// 返回值:狗的当前年龄// 注:应该添加const修饰,因为不修改对象状态:int getAge() const { return age; }int getAge() {return age;}// 获取体重// 返回值:狗的当前体重// 同样应该添加const修饰int getWeight() {return weight;}// 设置年龄// 参数:a - 要设置的新年龄void setAge(int a) {age = a;  // 更新年龄}// 设置体重// 参数:w - 要设置的新体重void setWeight(int w) {weight = w;  // 更新体重}
};// 主函数
int main() {// 创建一个名为Jack的Dog对象,初始年龄2岁,体重10磅Dog Jack(2, 10);// 输出Jack的初始信息cout << "Jack is a Dog who is ";// 通过getter方法获取并输出年龄和体重cout << Jack.getAge() << " years old and " << Jack.getWeight() << " pounds weight" << endl;// 修改Jack的年龄和体重Jack.setAge(7);       // 将年龄设置为7岁Jack.setWeight(20);   // 将体重设置为20磅// 输出更新后的信息cout << "Now Jack is ";cout << Jack.getAge() << " years old and " << Jack.getWeight() << " pounds weight." << endl;return 0;  // 程序正常结束
}

2.简洁版

#include<bits/stdc++.h>
using namespace std;
class Dog {int age, weight;
public:Dog(int a,int w) {age=a;weight=w;}int getAge(){return age;}int getWeight() {return weight;}void setAge(int a) {age = a;}void setWeight(int w) {weight = w;}
};int main()
{Dog Jack(2, 10);cout << "Jack is a Dog who is ";cout << Jack.getAge() << " years old and " << Jack.getWeight() << " pounds weight" << endl;Jack.setAge(7);Jack.setWeight(20);cout << "Now Jack is ";cout << Jack.getAge() << " years old and " << Jack.getWeight() << " pounds weight." << endl;return 0;
}

总结

类功能
  • 数据存储:记录狗的 age(年龄)和 weight(体重)。

  • 方法提供

    • 构造函数 Dog(int a, int w):初始化狗的年龄和体重。

    • Getter方法 getAge() 和 getWeight():获取狗的年龄和体重。

    • Setter方法 setAge(int a) 和 setWeight(int w):修改狗的年龄和体重。

主程序逻辑
  1. 创建一个名为 Jack 的 Dog 对象,初始年龄为 2 岁,体重为 10 磅。

  2. 打印 Jack 的初始信息。

  3. 通过 setAge 和 setWeight 修改 Jack 的年龄和体重。

  4. 打印修改后的信息

http://www.xdnf.cn/news/13793.html

相关文章:

  • 三大能力升级,为老项目重构开辟新路径
  • [SPDM]SPDM 证书链验证过程详解
  • linux安装阿里DataX实现数据迁移
  • 组合边缘提取和亚像素边缘提取
  • word表格批量转excel,提取表格数据到excel
  • 企业签名分发跟应用商城分发有什么区别
  • mysql 的卸载- Windows 版
  • 人工智能100问☞第46问:AI是如何“学习”的?
  • VR百科:实景三维重建
  • Java实现国密算法
  • windows下tokenizers-cpp编译
  • FPGA基础 -- 什么是 Verilog 的模块(`module`)
  • 再现重大BUG,微软紧急撤回Win 11六月更新
  • Karate整合PlayWright方式之playWright Driver
  • Vulkan学习笔记4—图形管线基础
  • Visual Studio 里面的 Help Viewer 提示Error: “.cab未经Microsoft签名” 问题解决
  • 【Net】OPC UA(OPC Unified Architecture)协议
  • Fastadmin报错Unknown column ‘xxx.deletetime‘ in ‘where clause
  • [算法][好题分享][第三大的数][最短无序子数组]
  • 小飞电视:智能电视与移动设备的娱乐新选择
  • Meta发布V-JEPA 2世界模型及物理推理新基准,推动AI在物理世界中的认知与规划能力
  • Python 标准库之 os 模块
  • Vue + element实现电子围栏功能, 根据省市区选择围栏, 自定义围栏 ,手动输入地名围栏, 保存围栏,清除围栏,加载围栏,批量检测标点是否在围栏内。
  • Chapter05-SSRF
  • Nodejs特训专栏-基础篇:1. Node.js环境搭建与项目初始化详细指南
  • Conda 安装 nbextensions详细教程
  • C++编程语言:标准库:STL容器(Bjarne Stroustrup)
  • 2025【证券从业】时间事件
  • CHI 总线协议及一致性总线相关的 NOC
  • c/c++ 汇编码中的.cfi 指令有什么用途?