从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的类,包含私有成员变量name和age,以及一个公有成员函数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.
相关推荐
wo_jack3 分钟前
C++ 入门笔记(十七):list 入门 —— 为什么 list 不能 sort?
数据结构·c++·面试·stl·list
zh_xuan8 分钟前
kotlin常见面试题
开发语言·kotlin·面试题
青少儿编程课堂1 小时前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园连连看解析
c++·python·算法·bfs·信息学竞赛
草莓熊Lotso2 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
晓梦林3 小时前
BUUCTF-菜刀流量-MISC-学习笔记
笔记·学习
huaqianzkh3 小时前
WinForm C#:循环修改控件UI闪烁卡顿?SuspendLayout / ResumeLayout 与 BeginUpdate 优化
开发语言·ui·c#
Godspeed Zhao12 小时前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
沐晓时光13 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
David猪大卫19 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger19 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习