C++面向对象

C++作为一种静态面向对象的编程语言,通过类和对象实现了面向对象编程。本文将简要介绍C++面向对象编程的一些基本概念和特性。

一、类和对象

类是定义对象属性和行为的模板,对象是类的实例。类封装了数据和方法。

class Person {
  string name; 
  void walk() {}
};

Person p; // 创建对象
p.name = "John"; p.walk();

二、继承

继承可以使子类继承父类数据和方法,实现代码复用。

class Student : public Person {
  // 继承Person
};

三、封装

封装通过访问控制隐藏细节,只对外公开接口。

class Person {
public:
  string name;
private:
  int age; 
};

四、多态

多态通过虚函数和覆盖实现调用相同接口有不同行为。

class Animal {
public:
  virtual void speak() {}
};

class Dog : public Animal {
  void speak() { cout << "汪汪汪" << endl; }  
};

五、抽象类

抽象类不能实例化,只能被继承。

class Animal {
public:
  virtual void speak() = 0;
};

六、接口类

接口类全部方法为纯虚方法,强制子类实现。

class IPrint {
public:
  virtual void print() = 0;
};

综上,C++通过类和对象、封装、继承和多态等机制实现了面向对象编程。这是C++作为一门主流编程语言的核心特性。