C++ 是一种面向对象的编程语言,主要用于将现实世界的事物模型化到程序中。类和对象在所有面向对象的编程语言中都用于实现这一目标。类作为创建具有相似特征的对象的蓝图。C++ 中面向对象方法围绕的核心思想是类和对象概念。它通过减少代码重复和故障排除时间来提高软件效率。
通过真实示例的指导,您现在将掌握 C++ 的类和对象概念。例如,假设您有一个小型图书馆。图书馆中的所有书籍都具有一些共同的特征,例如书名、作者名和类型。设想您想为图书馆中的所有书籍创建一个目录。您可以创建一个名为 Book 的类,该类作为您图书馆中所有书籍的模板,而不是为您拥有的每一本书单独创建类。
例如

学校里的所有学生都具有一些共同的特征,例如——(参考上图)
为了定义所有这些特征,我们可以创建一个名为 student 的类。
如果一所学校有 2000 名学生,我们需要创建 2000 个针对每个孩子的特定对象才能保存他们的信息。C++ 中的类是一种数据类型,可以拥有许多对象或实例。
在 C++ 中,类是一种用户定义类型或数据结构,主要使用关键字 class 声明,并具有数据和函数作为其成员。这些成员的访问主要由 3 个访问说明符中的一个控制,例如 private、protected 或 public。
类是连接实体特征和功能的蓝图或模板。所有具有相似类型属性的实体或对象都可以分组到一个称为类的东西中。封装、数据隐藏和抽象只是类进一步实现的几个基本概念。在 C++ 中,类是一种数据类型,可以拥有许多对象或实例。

关键字class用于创建类。
在 C++ 中声明类的语法
class class_name
{
// class definition
access_specifier: // public, protected, or private
data_member1; // data members
data_member2;
func1(){} // member functions
func2(){}
};
解释
示例 1,让我们创建一个名为“Myclass”的类
class MyClass { // class
public: // it is an access specifier
int myNum; // Attribute :int variable
string myString; // Attribute :string variable
};
解释
示例 2
class Rect {
public:
double length;
double breadth;
double calculateArea(){
return length * breadth;
}
};
解释:这里定义了一个名为 Rect 的类。
数据成员是类中定义的变量 length 和 width。此外,函数 calculateArea() 被称为类的成员函数。
C++ 中的对象等同于现实世界的实体。假设您身边总是围绕着对象,包括树木、昆虫、桌子、长凳、小狗、汽车等等。这些对象与某种属性和功能相关。同样,C++ 中也存在对象概念。当定义一个类时,它包含了该类类型下所有对象的详细信息。在定义类之后,它可以创建共享相同信息的类似对象,类名作为类型说明符。
对象主要被称为类的实例。定义类时不会分配内存,但在实例化(即创建对象时)时会分配内存。在 C++ 中,类是使用关键字 class 和类名定义的。
对象在运行时创建,是运行时实体。可以通过对象访问每个类成员。我们必须创建对象才能使用数据并访问类定义的函数。
class class_name
class_name object_name;
class_name 指的是要从中创建对象的类的名称。object_name 是将要赋予新对象的名称。以下是根据上面示例 2 的说法,创建 rect 类的对象的方法
示例 3
// sample function
void rectFunct() {
// create objects
Rect rect1, rect2;
}
int main(){
// create objects
Rect rect3, rect4;
}
解释:这里,函数 rectFunct() 创建了 Rect 类的两个对象 rect1 和 rect2。对象 rect3 和 rect4 以类似的方式在 main 函数中创建。
正如我们所见,类的对象可以在程序的任何函数中创建。我们也可以在类内部或在其他类中创建类的对象。单个类也允许我们创建任意数量的对象。
// Program to illustrate the working of objects and class in C++ Programming
#include
using namespace std;
// let us create a class name 'Rect' for the rectangle
class Rect {
public:
double length;
double breadth;
double calculateArea() {
return length * breadth;
}
};
int main() {
// create an object of Rect class
Rect rect1;
// assign the values in to the data members
rect1.length = 20;
rect1.breadth = 60;
// calculate as well as display the area of the rectangle
cout << "So the Area of Rectangle is: " << rect1.calculateArea() << endl;
return 0;
}
输出
So the Area of Rectangle is: 1200
解释
在此程序中,我们使用 Rect 类及其对象 rect1 来计算房间的面积。我们在 main() 中使用以下代码为 length 和 breadth 赋值:
rect1.length = 20;
rect1.breadth = 60;
然后,为了进行必要的计算,我们调用了 calculateArea() 函数。
需要注意的是,该程序使用了 public 术语。这表明该应用程序的用户可以从任何地方访问成员,并且它们是 public 的。