接口的出现使面向对象前进了一大步,同时也是很多需求变得有预见性,尤其是接口与继承结合起来使得程序有了“预见未来”的能力。
---Mantra
什么是接口?
接口就是自己提供给外界的一种抽象,用以由内部操作分离出外部沟通的方法,使其内部修改而不影响外界其他实体与交互的方式。
很多编程语言都提供了对于接口的支持,但是很不幸,C++本身不支持接口。但是我们可以通过C++多继承和纯虚函数结合来实现接口。
具体操作方法:
此处略去理论直接上砖(代码)。首先定义IPerson接口,定义了一些行为(纯虚函数)
#pragma once
#include <string>
class IPerson
{
public:
IPerson() {};
// 此处最好规定为纯虚函数,这样可以保证子类能够正确调用析构函数
virtual ~IPerson() = 0{};
// 以下为定义的接口函数,方便外部调用
virtual void SetName(const std::string& strName) = 0;
virtual const std::string GetName() = 0;
virtual void Work() = 0;
};
接下来我们定义两个类,分别实现这个IPerson接口。
首先定义Teacher类(下面分别是.h和.cpp文件)&#