栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++动态链接库-07-DLL导出C++类

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++动态链接库-07-DLL导出C++类











新建一个dll工程:TestClassDemo,然后添加一个TestClassDemo.h,TestClassDemo.cpp默认存在。
TestClassDemo.h:

#pragma once
class IAnimal
{
public:
	virtual void run() = 0;
	virtual void sleep() = 0;
	virtual void releaseObj() = 0;
};

__declspec(dllexport) IAnimal*GetAnimal();

TestClassDemo.h:

#include "stdafx.h"
#include 
#include "TestClassDemo.h"
class Cat :public IAnimal
{
public:
	Cat()
	{
		std::cout << "猫在创建n";
	}
	~Cat()
	{
		std::cout << "猫在销毁n";
	}
	void run()
	{
		std::cout << "猫在跑n";
	}
	void sleep()
	{
		std::cout << "猫在睡觉n";
	}
	void releaseObj()
	{
		delete this;
	}
};

__declspec(dllexport) IAnimal*GetAnimal()
{
	return new Cat();
}

在另外的工程中使用:

#include 
using namespace std;
#include "D:\vs2015\Code\TestDemo\TestClassDemo\TestClassDemo.h"
#pragma  comment(lib,"D:\vs2015\Code\TestDemo\Debug\TestClassDemo.lib")
void main()
{

	IAnimal *pAnimal = GetAnimal();
	pAnimal->run();
	pAnimal->sleep();
	pAnimal->releaseObj();


	system("pause");
}

结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号