从0开始学习C++ 第十四课:类和对象

第十四课:类和对象

学习目标:

  • 熟悉面向对象编程的基本概念。
  • 了解如何在C++中定义类并创建对象。
  • 学习类的成员函数和成员变量的基本用法。

学习内容:

  1. 类的概念:

    • 概念: 类是C++的核心特性,它允许你创建包含属性(成员变量)和方法(成员函数)的数据类型。类定义了对象的蓝图。
  2. 定义类和创建对象:

    • 代码示例:

      cpp 复制代码
      #include <iostream>
      using namespace std;
      
      // 定义一个类
      class Box {
      public:
          double length;   // 长度
          double breadth;  // 宽度
          double height;   // 高度
      
          // 成员函数声明
          double getVolume() {
              return length * breadth * height;
          }
      };
      
      int main() {
          Box Box1;        // 声明Box1,类型为Box
          Box Box2;        // 声明Box2,类型为Box
          double volume = 0.0;     // 用于存储体积
      
          // box 1 的属性赋值
          Box1.length = 6.0; 
          Box1.breadth = 7.0; 
          Box1.height = 5.0;
      
          // box 2 的属性赋值
          Box2.length = 12.0; 
          Box2.breadth = 13.0; 
          Box2.height = 10.0;
      
          // 计算Box1的体积
          volume = Box1.getVolume();
          cout << "Box1 的体积:" << volume << endl;
      
          // 计算Box2的体积
          volume = Box2.getVolume();
          cout << "Box2 的体积:" << volume << endl;
          
          return 0;
      }
    • 预计输出效果:

      复制代码
      Box1 的体积:210
      Box2 的体积:1560
    • 使用场景: 类和对象广泛应用于软件开发中,用于模拟现实世界的各种实体。例如,可以使用类来表示学生、账户、产品等。

练习题: 编写一个C++程序,定义一个名为Person的类,包含私有成员变量nameage,以及一个公有成员函数introduce()来输出个人的自我介绍。在main函数中创建一个Person对象,并通过设置成员变量和调用introduce()函数来输出个人信息。

答案:

cpp 复制代码
#include <iostream>
#include <string>
using namespace std;

class Person {
private:
    string name;
    int age;

public:
    // 设置姓名
    void setName(string newName) {
        name = newName;
    }

    // 设置年龄
    void setAge(int newAge) {
        age = newAge;
    }

    // 自我介绍
    void introduce() {
        cout << "My name is " << name << " and I am " << age << " years old." << endl;
    }
};

int main() {
    Person person1;
    person1.setName("Alice");
    person1.setAge(30);
    person1.introduce();

    return 0;
}

预计输出效果:

复制代码
My name is Alice and I am 30 years old.
相关推荐
shada21 分钟前
Boost.Process v2 在旧内核上报 `assign: Bad file descriptor`
c++
泡海椒28 分钟前
规则引擎对比:JQuick-Java vs Drools 轻量场景选型对比
java·开发语言
2601_9499506332 分钟前
练题簿在线练题全流程:从资料导入到模拟考试与错题复盘
学习·考研·小程序·刷题·小程序推荐
泡泡鱼(敲代码中)1 小时前
Python 容器类型学习笔记:列表、元组、字典、集合
开发语言·笔记·python·pycharm
别动我齐刘海1 小时前
ROS2 Jazzy + C++ 实战路线——基础学习2
c++·人工智能·vscode·python·学习·机器学习·机器人
2501_933670791 小时前
平台招商运营校招能力模型:数据分析、SQL与增长场景拆解
开发语言
菜鸟~noob2332 小时前
【Bonjour】华为Peerium架构深度解析:从冯·诺依曼到百万处理器“一台计算机”,附MATLAB性能仿真【含matlab代码,可直接运行】
开发语言·matlab·华为·peerium
朝朝辞暮i2 小时前
C++第 2 课
c++
代码中介商2 小时前
C++ 预约系统实战(三):服务端实现——libevent 事件驱动与业务路由
c++·json·c/s
白远山2 小时前
24小时自助健身房系统开发实战:从需求分析到完整指南
java·开发语言·数据库·数据挖掘·需求分析