先描述题目要表达的意思:我现在需要基于别人给的SDK,开发我自己的程序。例如基于别人给的miniBird.h、miniBird.lib和miniBird.dll,我自己写了一个类叫Bird,并且我开发的这个类也是需要给别人使用的,所以我也要提供Bird.h、Bird.lib和Bird.dll这三个文件给别人调用。
我肯定不想把我的实现文件.cpp提供给别人,我也不想让别人看到我定义的私有程序和其他不该看到的东西,就是说我只想给别人开放该看到的东西,他只需要调用这些接口就行,他也没有这个精力关心我是怎么实现的。这就涉及到类的封装了。
这篇文章就是讲如何开放接口,如何生成.h,.dll和.lib文件。
简单说,让你写的类派生于一个抽象类,抽象类封装了你的具体定义和函数,只需要在抽象类中开放你想开放的接口。
具体地,假设我现在已经写好了我的Bird类,也能正常运行了。并且已经新建好了应用程序类型为DLL的项目,名叫BirdClass,并且已经加入了加入了你已经写好的Bird.h和Bird.cpp文件了。
#pragma once
#include "miniBird.h"
class Bird
{
public:
Bird();
~Bird();
public:
void walk();
void fly();
void eat();
private:
int mouthnum;
int eyenum;
};
我的Bird.h文件里面定义了Bird类,从这个文件里面可以看到,包含了miniBird.h文件,定义了三个成员函数和两个私有的成员变