如何在C++中创建和使用类来实现封装和继承?请结合《Bjarne Stroustrup的C++程序设计原则与实践(2nd Edition)》中的相关概念给出示例。
时间: 2024-11-16 11:25:53 浏览: 20
在C++中,类是一种用来定义自己的数据类型和相关操作的特性,它允许我们封装数据以及与这些数据相关的函数。继承则是允许创建一个类,这个新类继承已存在的类的成员变量和成员函数,从而增强代码的复用性和模块化。《Bjarne Stroustrup的C++程序设计原则与实践(2nd Edition)》对这些面向对象编程的核心概念提供了深入的讲解和指导。
参考资源链接:[Bjarne Stroustrup的C++程序设计原则与实践(2nd Edition)](https://wenku.csdn.net/doc/647fdc50d12cbe7ec358f32f?spm=1055.2569.3001.10343)
为了实现封装,你首先需要定义一个类,并在其中声明私有成员变量和公有成员函数。私有成员变量确保了数据的安全性,外部代码不能直接访问它们,必须通过公有成员函数来操作。例如:
```cpp
class Vehicle {
private:
std::string brand; // 私有成员变量
int year; // 私有成员变量
public:
// 公有成员函数,用于设置私有成员变量的值
void setBrand(std::string newBrand) {
brand = newBrand;
}
void setYear(int newYear) {
year = newYear;
}
// 公有成员函数,用于获取私有成员变量的值
std::string getBrand() {
return brand;
}
int getYear() {
return year;
}
};
```
在这个例子中,`Vehicle`类有品牌和年份两个私有成员变量,以及用于设置和获取这些变量的公有成员函数。创建这个类的实例之后,你就可以通过这些函数来安全地访问和修改品牌和年份信息,而无需直接访问私有成员变量。
为了实现继承,你可以从一个已存在的类派生出一个新类。派生类将继承基类的所有成员变量和成员函数,除非基类成员被标记为`private`。例如:
```cpp
class Car : public Vehicle { // 派生自Vehicle类
public:
void setMaxSpeed(int newMaxSpeed) {
// 使用基类的公有成员函数来设置品牌和年份
Vehicle::setBrand(
参考资源链接:[Bjarne Stroustrup的C++程序设计原则与实践(2nd Edition)](https://wenku.csdn.net/doc/647fdc50d12cbe7ec358f32f?spm=1055.2569.3001.10343)
阅读全文