C山寨C++
#include <string.h>
#include <malloc.h>
typedef struct Aclass_s Aclass;
struct Aclass_s
{
int m_iMember1;
char m_sMember2[40];
void (*m_funcInit)(Aclass *objInit);/*初始化函数*/
int (*m_funcPrint)(int,char *);/*成员函数*/
};
int Print(int iParam, char *sParam)
{
printf("iParam = [%d]\n",iParam);
printf("m_sMember2 before =[%s]\n",sParam);
strcpy(sParam,"i am change");
return iParam+6;
}
void Init(Aclass *objInit)
{
objInit->m_iMember1=0;
strcpy(objInit->m_sMember2,"init string");
objInit->m_funcPrint=&Print;
}
int main()
{
Aclass *AObj;
AObj=(Aclass *)malloc(sizeof(Aclass));
/*以下两行完成初始化*/
AObj->m_funcInit=&Init;
AObj->m_funcInit(AObj);
int iTemp = AObj->m_funcPrint(AObj->m_iMember1,AObj->m_sMember2);
printf("iTemp=[%d]\n",iTemp);
printf("m_sMember2 after = [%s]\n",AObj->m_sMember2);
return 0;
}
/*gcc和vc6编译通过*/
C山寨C++的更多相关文章
- 山寨Unity3D?搜狐畅游的免费开源游戏引擎Genesis-3D
在CSDN上看到了<搜狐畅游发布3D游戏引擎Genesis-3D 基于MIT协议开源>(http://www.csdn.net/article/2013-11-21/2817585-cha ...
- 让我们山寨一张Windows Azure Global的壁纸
用过国际版Azure的同学都见过一个显示了机器中主要信息的壁纸,而这个壁纸是通过Sysinternals的一款叫做bginfo来实现的,这款软件的好处是对于批量管理主(虚拟)机的管理员和使用方都很实用 ...
- [翻译+山寨]Hangfire Highlighter Tutorial
前言 Hangfire是一个开源且商业免费使用的工具函数库.可以让你非常容易地在ASP.NET应用(也可以不在ASP.NET应用)中执行多种类型的后台任务,而无需自行定制开发和管理基于Windows ...
- 从零开始山寨Caffe·陆:IO系统(一)
你说你学过操作系统这门课?写个无Bug的生产者和消费者模型试试! ——你真的学好了操作系统这门课嘛? 在第壹章,展示过这样图: 其中,左半部分构成了新版Caffe最恼人.最庞大的IO系统. 也是历来最 ...
- NanUI for Winform 使用示例【第一集】——山寨个代码编辑器
NanUI for Winform从昨天写博客发布到现在获得了和多朋友的关注,首先感谢大家的关注和支持!请看昨天本人的博文<NanUI for Winform发布,让Winform界面设计拥有无 ...
- 从零开始山寨Caffe·壹:仰望星空与脚踏实地
请以“仰望星空与脚踏实地”作为题目,写一篇不少于800字的文章.除诗歌外,文体不限. ——2010·北京卷 仰望星空 规范性 Caffe诞生于12年末,如果偏要形容一下这个框架,可以用"须敬 ...
- 从零开始山寨Caffe·零:必先利其器
工作环境 巧妇有了米炊 众所周知,Caffe是在Linux下写的,所以长久以来,大家都认为跑Caffe,先装Linux. niuzhiheng大神发起了caffe-windows项目(解决了一些编译. ...
- 闲来无事,用Java的软引用写了一个山寨的缓存
闲来无事,用Java的软引用写了一个山寨的缓存 博客分类: java基础 众所周知java中的引用分为 StrongReference.SoftReference.WeakReference.Phan ...
- 微信也能鉴别山寨iPhone【微信高级教程2】
现在的技术真的很厉害,iPhone都能山寨几乎一样,外观不用说,系统UI都做得差不多相同,ytkah的一位朋友之前就被人骗了,她拿来手机让我优化,说是很卡,起初ytkah也琢磨很久,只是持怀疑态度,没 ...
- 【Stage3D学习笔记续】山寨Starling(十二):总结和一些没提到的东西
我们的山寨Starling到这里就告一段落了,不得不说这是一个非常优秀的2D框架,他的设计和架构为后来的许多框架都提供了很好的参考,比如现在正在崛起的Egret,我们的一番解读也只是窥见了Starli ...
随机推荐
- 1.scrapyd部署相关问题
部署scrapy爬虫项目到6800上 启动scrapyd 出现问题 1: scrapyd-deloy -l 未找到相关命令 scrapyd-deploy -l 可以看到当前部署的爬虫项目,但是当我输 ...
- Requests库入门
安装: $ pip install requests Response对象的一些基本属性: Response.status_code 请求的返回状态,正常为200 Response.text 页面的字 ...
- 安装设置IIS5.1
1.防止不停提示无法复制staxmem.dll: esentutl /p %windir%/security/database/secedit.sdb提示数据库损坏,是否恢复,选是,出现以下提示后退出 ...
- Redis 安装 和 启动
Redis下载官网 http://download.redis.io/releases/ 本人下载了stable版 1:安装步骤 ># wget http://download.redis.i ...
- Gradle 多项目构建
Gradle可以轻松处理各种大小规模的项目.小项目由一个单一的构建文件和一个源代码树构成. 大项目可以将其拆分成更小的,相互依赖的模块,以便更容易理解. 多项目构建的结构特征: 在项目的根目录或主目录 ...
- libcur+openssl的编译,使之支持SSL<转>
本机环境: Visual Studio 2010 . Windows 7 64 bit 1: 下载文件 1.1 libcurl: curl-7.49.1.zip 地址: https://curl.ha ...
- 前端-javascript-引入
1.Javascript简介 web前端有三层: HTML:从语义的角度,描述页面的结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) 2. ...
- UI5-文档-4.26-(Optional) Remote OData Service
到目前为止,我们已经使用了本地JSON数据,但是现在我们将访问一个真正的OData服务来可视化远程数据. 用可公开获得的Northwind OData服务显示并替换发票模型的JSONModel类型,以 ...
- 主流JS库一览
主流JS库一览 标签: prototypedojomootoolsprototypejsjqueryjavascript 2009-10-14 22:52 19936人阅读 评论(2) 收藏 举报 ...
- Apache相关安全设置
刚刚安装完Apache2.2和php 5.2.14后,配置完成首次用httpd启动时出现Apache 2 Test Page,并有如下提示: 此问题的解决办法是: 1. 找到一个叫做welco ...