从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.
相关推荐
油丶酸萝卜别吃33 分钟前
utils.js 说明文档
开发语言·javascript·ecmascript
leisoo80973 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
不会代码的小猴4 小时前
21. 泛型编程上
开发语言·c++·笔记·算法
青瓦梦滋4 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
一只旭宝5 小时前
细讲C加加【9】C++ std::function与std::bind详解|仿函数、绑定器、类成员绑定、占位符、成员偏移指针
开发语言·c++·算法
蒸蒸yyyyzwd6 小时前
秋招不熟悉力扣学习笔记1
笔记·学习·leetcode
coder!mq7 小时前
说几个常见的语法糖?
java·开发语言·算法
gugucoding7 小时前
38. 【Java】Stream API(下):高级操作与性能
java·开发语言
Lhan.zzZ7 小时前
在 Visual Studio 2022 中打造可扩展的动态链接库模块:从零搭建到原理解析
开发语言·c++·visual studio
小弥儿7 小时前
GitHub今日热榜 | 2026-08-11:图原生基础设施首日登顶
学习·开源·github