C++中类(class)的基本概念与用法
在C++中,类(class)是面向对象编程的一个核心概念。它提供了一种将数据和方法组合在一起的方式,从而创建出程序的基本构建模块。以下是关于C++中类的基本概念与用法的详解:
基本概念
类的定义:
- 类是对象的蓝图或模板。它定义了对象的属性(数据成员)和行为(成员函数或方法)。
- 在C++中,类通过关键字
class
定义。
对象:
- 对象是类的实例化。一个类可以创建多个对象,每个对象都有自己独立的属性。
成员变量:
- 也称为属性或字段,它们是类中用来存储对象状态的数据。
成员函数:
- 也称为方法,它们定义了类的行为,可以操作成员变量。
访问控制:
- 类的成员可以通过访问修饰符来定义其访问级别:
public
(公共)、protected
(受保护)和private
(私有)。 public
:成员可以从类外访问。private
:成员只能从类的内部或友元(friend)中访问。protected
:成员可以从其派生类中访问。
- 类的成员可以通过访问修饰符来定义其访问级别:
类的用法
定义类:
class MyClass {
private:
int myPrivateVar;
public:
int myPublicVar;
void setPrivateVar(int value) {
myPrivateVar = value;
}
int getPrivateVar() {
return myPrivateVar;
}
};
创建对象:
- 使用类创建对象需要通过声明类的实例。例如:
MyClass obj;
访问成员变量和函数:
- 使用成员访问操作符
.
访问对象的成员。
obj.myPublicVar = 10;
obj.setPrivateVar(5);
int value = obj.getPrivateVar();
- 使用成员访问操作符
构造函数和析构函数:
- 构造函数:与类名相同的函数,用于对象初始化。当对象创建时自动调用。
MyClass() {
// 初始化代码
}
- 析构函数:在类名前加
~
,用于对象销毁时的清理工作。
~MyClass() {
// 清理代码
}
继承:
- C++支持类的继承,允许从一个基类派生出一个或多个子类。
class DerivedClass : public MyClass {
// DerivedClass继承了MyClass的成员
};
多态性:
- C++支持多态,允许通过基类指针或引用调用派生类中的覆写方法。
- 这通常通过虚函数实现:
class Base {
public:
virtual void print() {
std::cout << "Base class print" << std::endl;
}
};
class Derived : public Base {
public:
void print() override {
std::cout << "Derived class print" << std::endl;
}
};
这些是C++类的基本概念与用法。类提供了对数据和行为的抽象描述,使得代码更易于维护和重用。