C++ 中的类(class)是一种编程结构,用于创建对象。
这些对象可以拥有属性(即数据成员)和行为 (即成员函数或方法)。
类的概念是面向对象编程的核心之一,其主要目的是将数据和与数据相关的操 作封装在一起。
例如,如果你有一个“汽车”类,它可能包含颜色、品牌、型号等属性(数据成员),以及启动、停止、加速等行为(成员函数)。每当你基于这个类创建一个对象时,你就有了一个具体的汽车,具有这些属性和行为。
类基本包括
- 数据成员:定义类的属性。这些是类内部的变量,用于存储对象的状态。
- 成员函数:定义类的行为。这些是可以操作对象的数据成员的函数。
- 构造函数和析构函数:特殊的成员函数。构造函数在创建对象时自动调用,用于初始化对象。析构 函数在对象销毁时调用,用于执行清理操作。
- 访问修饰符:如 public , private , protected ,用于控制对类成员的访问权限。
- 例如, public 成员可以在类的外部访问,而 private 成员只能在类内部访问。
- 继承:允许一个类继承另一个类的特性。这是代码重用和多态性的关键。
访问修饰符
类中不写权限,默认是私有权限
- 访问权限 类内部 同一个类的对象 派生类(子类) 类外部
- public 可访问 可访问 可访问 可访问
- private 可访问 不可访问 不可访问 不可访问
- protected 可访问 不可访问 可访问 不可访问
定义类
class A{
public:
int X();//声明成员数据
void X();//声明成员函数
private:
int XX();//声明成员数据
void XX();//声明成员函数
protected:
int XXX();//声明成员数据
void XXX();//声明成员函数
}
实现类的成员函数和调用成员数据
class A{
public:
int X;
void X();//声明成员函数
}
void A::X(){ //在类的外部进行成员函数的实现
X++;//可以直接使用类理的public成员数据
}
实例类对象
class A{
public:
int X;
void X();//声明成员函数
}
void A::X(){ //在类的外部进行成员函数的实现
X++;//可以直接使用类理的public成员数据
}
int main()
{
A a1;
a1.X = 1;
a1.X();
A *a2 = new A();
a2->X = 1;
a2->X();
}
嵌套类对象
class B{
public:
int X;
void X();//声明成员函数
}
class A{
public:
int X;
void X();//声明成员函数
B b1;
B *b2;
}
void A::X(){ //在类的外部进行成员函数的实现
X++;//可以直接使用类理的public成员数据
}
int main()
{
A a1;
a1.X = 1;
a1.X();
a1.b1.X = 2;
a1.b2 = new B();
a1.b2->X = 2;
A *a2 = new A();
a2->X = 1;
a2->X();
a2->b1.X = 2;
a2->b2 = new B();
a2->b2->X = 2;
}
private权限讲解
当用private来声明成员数据时,不可以通过 对象名:成员数据 来调用,只能通过public的成员函数来间接调用修改