易截截图软件、单文件、免安装、纯绿色、仅160KB

纯C实现c++类

//#include "stdafx.h"
/*
描述:纯c模拟类,纯c编写c++类,纯c实现c++类的简单范例,结构模拟类,struct 编写class.
c编写类是实现纯c编写com组件的基础。
*/
#include <stdio.h>
typedef struct _Vtbl
{
    void (*AddRef)(struct CObject* obj,int);//所有的函数的第一个参数类似class的隐匿的this指针
    void (*Release)(struct CObject* obj);
}Vtbl;//函数指针数组
typedef struct CObject
{
    Vtbl vtbl;//函数指针数组指向成员函数
    int a;
    int b;
}Cobj;//结构模拟类的简单定义
void fun1(Cobj *obj,int count)//成员函数
{
    obj->a+=count;
    printf("CObject::a=%d\n",obj->a);
}
void fun2(Cobj *obj)//成员函数
{
    obj->a--;
    printf("CObject::a=%d\n",obj->a);
}
static Vtbl vt={fun1,fun2};//声明一个静态函数指针数组
int main()
{
    Cobj obj;//定义对象
    obj.vtbl=vt;
    obj.a= 10;
    obj.vtbl.AddRef(&obj,1);
    obj.vtbl.Release(&obj);
    return 0;
}


相关文档:

C#与C/C++的区别的地方


编译:C程序直接编译成标准的二进制可执行的代码,但C#的源程序并不是被编译成二进制可执行的形式,而是一种中间语言(MSIL),类似JAVA中的字节码
结构体:C#的结构体与C++的结构体相似。但是C#的结构体与类是不同的,而且不支持继承。
预编译:C#中存在预编译的指令支持条件编译,警告,错误报告和编译行控制。其指令 ......

Spring配C3P0连接池(以MySQL数据库配置为例)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:jee="http://www.springframework.org/schema/jee"
      &nbs ......

C++和flex实现聊天室功能

公司安排开始做服务器,没有接触过这些东西。从零开始学习。
项目是做个聊天系统客户端用flex,服务器用C++,让我先出Demo。
服务器部分参照Windows网络编程一书中的select例子,基本一样,只是把例子中的的单个回应消息改成了群发消息。
虽然我对select模型还不熟悉,但是我知道如果要在一个套接字上发消息就必须设置FD ......

C/C++基本数据类型

学了C然后C++,然后MFC/Windows,然后是C#,其中数据类型很多,由基本类型衍生的typedef类型也N多。熟知基本数据类型是我们正确表达实际问题中各种数据的前提,因此我分类总结了一下C/C++/Windows /C#基本数据类型,以便日后查阅。
         ANSI C/C++基本数据类型:
Type
Size ......

C#中一些字符串操作的常用用法,c#编码和解码

//获得汉字的区位码
  byte[] array = new byte[2];
  array = System.Text.Encoding.Default.GetBytes("啊");
int i1 = (short)(array[0] - ''\0'');
  int i2 = (short)(array[1] - ''\0'');
//unicode解码方式下的汉字码
  array = System.Text.Encoding.Unicode.GetBytes("啊");
  i1 = (short)(arra ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号