c++简述面向对象编程特性
时间: 2024-09-09 18:05:34 浏览: 25
C++ 是一种支持面向对象编程(Object-Oriented Programming, OOP)的编程语言[^1]。其核心特性包括:
1. **封装**(Encapsulation):通过类(Class)来封装数据(成员变量,如`int i;`在`class A`中)和操作这些数据的方法(成员函数,如`get()`)。这样可以隐藏实现细节,仅对外提供接口。
```cpp
class A {
// 数据(私有)和操作数据的方法(公有)
int i;
public:
A() : i++ {} // 构造函数自动调用
~A() : i-- {} // 析构函数在对象销毁时调用
int get() { return i; }
};
```
2. **继承**(Inheritance):子类(如`A b;`和`A e;`)可以从父类(如`A`)继承属性和行为。这允许代码重用和模块化。
3. **多态性**(Polymorphism):
- **编译时多态**(Method Overriding):子类可以覆盖基类的方法,比如`A c.get();`调用的是`A`的版本。
- **运行时多态**(Virtual Functions):通过虚函数(如`virtual int get();`),可以在运行时确定调用哪个版本的方法。
```cpp
// 声明虚函数
virtual int get();
// 实现(在派生类中)
class B : public A {
public:
virtual int get() override { return i + 1; }
};
// 派生类的对象可以通过基类指针调用虚函数
A* p = new B();
cout << p->get() << endl; // 输出B类的get方法结果
delete p;
```