Jupyter AI

30 结构体与类的基本概念

📅 发表日期: 2024年8月10日

分类: 💻C++ 入门

👁️阅读: --

C++完整教程

在上一篇中,我们讨论了结构体的定义与使用,以及如何在C++中使用结构体来封装数据。在本篇中,我们将进一步探讨这一重要概念,并了解结构体与类的关系、相似之处和不同之处,让我们从基本的、最核心的知识点开始。

类的基本概念

(Class)是面向对象编程中的一个基本概念,它可以看作是一个模板,用来创建对象(instance)。在C++中,类是一个用户定义的类型,其封装了数据和操作这些数据的函数(方法)。简单来说,类是对现实世界事物的抽象,可以让我们更好地组织和管理代码。

类的定义

在C++中,类的定义使用class关键字,语法如下:

class ClassName {
public:
    // 公有成员
    DataType memberVariable; // 成员变量
    void memberFunction() {   // 成员函数
        // 函数体
    }
private:
    // 私有成员
};

例子:创建一个简单的类

下面是一个简单的类的示例,表示一个汽车(Car)。

#include <iostream>
#include <string>

class Car {
public:
    // 成员变量
    std::string make;   // 品牌
    std::string model;  // 型号
    int year;           // 年份

    // 成员函数
    void displayInfo() {
        std::cout << "汽车品牌: " << make << ", 型号: " << model << ", 年份: " << year << std::endl;
    }
};

在这个示例中,Car类定义了三个成员变量:makemodelyear,以及一个成员函数displayInfo用来输出汽车的信息。

类与结构体的区别

在C++中,结构体有相似之处,但也有显著的区别:

  • 默认访问控制:在类中,成员默认是私有的(private),而在结构体中,成员默认是公有的(public)。
  • 继承方式:类的继承默认是私有的,而结构体的继承默认是公有的。
  • 用途:通常情况下,结构体用于数据封装,类用于更复杂的逻辑或行为。
struct Person {
    std::string name; // 公有成员
    int age;          // 公有成员
};

class Animal {
private:
    std::string species; // 私有成员
public:
    void setSpecies(std::string s) {
        species = s;
    }
};

实例化一个类

类被定义后,我们可以创建对象(实例)来使用它。通过类名和构造函数来实例化一个对象。

int main() {
    // 实例化一个Car类的对象
    Car myCar;
    myCar.make = "Toyota";
    myCar.model = "Corolla";
    myCar.year = 2020;

    // 调用成员函数
    myCar.displayInfo();

    return 0;
}

在上面的代码中,我们创建了一个Car类的对象myCar,并设置了一些属性,然后调用了displayInfo方法来输出汽车的信息。

小结

在本部分中,我们简要介绍了的概念、定义、与结构体的区别,以及如何实例化和使用类。类是C++面向对象编程的基础,理解类的概念对我们继续学习C++非常重要。下一篇中,我们将深入探讨类中的构造函数析构函数,这些函数是对象生命周期中极为重要的部分。


欢迎继续关注下一篇教程,深入探索构造函数与析构函数的奥秘。

💻C++ 入门 (滚动鼠标查看)