• 2024 年 12 月 23 日

C++入门学习笔记1:类与对象

C++ 在 C 的最大区别在于C++拥有类,是一种面向对象的编程,这也是C++的核心特性。

类相当于外壳,用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。

类的定义

在C++中,定义一个类通常以关键字class开头,后面加类的名称。有了类,还要有类的主体,类的成员包含在类后面的花括号中。在这里,我们需要明确一点,类的成员不仅可以是变量,还可以是函数和指针,甚至可以是另一个类,虽然这听起来有点像俄罗斯套娃,但事实上类中各成员的定义完全取决于程序员本身。

下面的代码创建了一个名为Student的类

class Student {
public:
        double Math;
        double English;
        double Computer;
};

在这段代码中,我们创建了一个名为Student的类,并且这个类中包含三个成员,分别为MathEnglishComputer。这三个成员的访问属性都是public,这一点会在后面讲到。

定义C++对象

类提供了一个模板,所以对象是根据类来创建的。

例如,刚才我们已经创建了Student这个类,但一个班上有很多人,所以他们的成绩应该要很多个Student来储存,这时我们就可以创建多个对象来分别储存内容不同而结构相似的数据类型。

Student Student1;    //声明Student1,类型为Student
Student Student2;    //声明Student2,类型为Student

类成员的访问属性与访问

访问属性

类的成员具有三种访问属性:publicprivateprotected。在类成员的定义时,会在成员前写上其访问属性。

在类对象的作用域内,public类型的成员都是外部可以访问的,而private类型的成员只能在当前类的范围内调用,protected类型的成员则时除了当前类和子类外,其余函数与类不能访问调用。

作用域当前类同一package子类其他package
public
protected×
private×××

成员的访问

类的对象的公共数据成员可以用直接成员访问运算符.进行访问。这里我们可以借助代码来强化理解:

#include"pch.h"
#include <iostream>

using namespace std;

class Student {
public:
        double Math;
        double English;
        double Computer;
};

int main() {
    Student Student1;
    Student Student2;
    double Average = 0;     //用来存储平均分

    //Student1成绩
    Student1.Math = 90.0;
    Student1.English = 92.0;
    Student1.Computer = 90.0;

    //Student2成绩
    Student2.Math = 80;
    Student2.English = 87;
    Student2.Computer = 97;

    //Student1平均分
    Average = (Student1.Math + Student1.English + Student1.Computer) / 3;
    cout << "学生1的平均分为:" << Average << endl;

    //Student2平均分
    Average = (Student2.Math + Student2.English + Student2.Computer) / 3;
    cout << "学生2的平均分为:" << Average << endl;
    return 0;
}

debug后,上面的代码产生如下结果:

学生1的平均分为:90.6667
学生2的平均分为:88

4 thoughts on “C++入门学习笔记1:类与对象

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注