一、接口的定义
  有时候,我们得提供一些接口给别人使用。接口的作用,就是提供一个与其他系统交互的方法。其他系统无需了解你内部细节,并且也无法了解内部细节,只能通过你提供

给外部的接口来与你进行通信。根据c++的特点,我们可以采用纯虚函数的方式来实现。这样做的好处是能够实现封装和多态。现举一实例,供大家参考。(不想做过多说明,

大家一看就应该能够明白)
Class IPerson
{
public:
IPerson(){};
virtual ~IPerson()=0;//注意,最好要定义此虚析构函数,能够避免其实现不能正常调用析构函数的问题
//提供给外面使用的接口一般采用纯虚函数
virtual void SetName(const string &strName)= 0;
virtual const string GetName()= 0;
virtual void Work()= 0;
}
二、接口实现
实现接口是通过继承接口的子类来实现的,不同的子类可以实现不同效果,即使所谓多态。

Class CTeacher:public IPerson
{
public:
CTeacher(){};
virtual ~CTeacher();
string m_strName;
void SetName(const string &strName);
const string GetName();
void Work();
}
CTeacher::SetName(const string &strName)
{
m_strName = name;
}
const string CTeacher::GetName()
{
return m_strName;
}
void CTeacher::Work()
{
cout <<"I am teaching!"<<endl;//老师的工作是教书,其他职业的人做的工作是不一样的。
}

最新文章

  1. UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)
  2. [javaSE] 反射-Class类的使用
  3. 注解学习(模仿springMvc的注解注入方式)
  4. SQL中CONVERT()转化函数的用法 字符串转日期
  5. C++中的抽象类及纯虚函数的实现与否
  6. spring 解析配置文件问题
  7. 【Linux/Ubuntu学习3】解决ubuntu解压windows生成的zip文件时乱码问题
  8. C#的Socket简单实现消息发送
  9. DllImport属性详解
  10. HDU 2121 Ice_cream’s world II 最小树形图
  11. 强制杀oracle进程
  12. Android ORMLite 框架的入门用法
  13. C#码农的大数据之路 - HDP SandBox配置及VS连接.md
  14. TOJ4114(活用树状数组)
  15. Linux - 简明Shell编程05 - 条件语句(Case)
  16. 在 EFCore 定义的实体中进行 FreeSql 开发
  17. gcc链接,去掉不用的函数和data
  18. [Swift]LeetCode547. 朋友圈 | Friend Circles
  19. win10 安装mysql 8.0.12
  20. 异常处理——java基础

热门文章

  1. 群聊(udp)
  2. 针对某p社游戏某整合包的研究
  3. Solution -「HDU 1788」CRT again
  4. 【曹工杂谈】Mysql-Connector-Java时区问题的一点理解--写入数据库的时间总是晚13小时问题
  5. SpringBoot+ShardingSphere彻底解决生产环境数据库字段加解密问题
  6. ASP.NET Core 6框架揭秘实例演示[07]:文件系统
  7. kubernetes集群之Pod说能不能让我体面的消亡呀?
  8. ios开发 Rsa签名 base64转码
  9. 探秘inter()方法
  10. Spring Cloud Alibaba Nacos 的 2 种健康检查机制!