如何封装一个类 C++接口版

先描述题目要表达的意思:我现在需要基于别人给的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文件,定义了三个成员函数和两个私有的成员变

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值