摘要: 1、要使用CString类型,需包含头文件 #include <atlstr.h>,在MFC中,需包含#include <afx.h> Unicode下CString转成char*:1 cstring P_Cstring= "";//需要被转化的Cstring2 int nLength = P_Cstring.GetLength();3 int nBytes = WideCharToMultiByte(CP_ACP,0,P_String,nLength,NULL,0,NULL,NULL);4 char* P_char= new char[ nByte 阅读全文
posted @ 2012-11-19 21:18 china_victory 阅读(312) 评论(0) 推荐(0) 编辑
摘要: (一)基本概念1、入口地址:每个函数在内存中拥有一段存储空间,在内存的起始地址就是这个函数的入口地址;2、编辑期绑定和运行期绑定: 编译期绑定:指的是程序运行哪一段代码,由编译器在编译阶段就确定了; 运行期绑定:一个函数的绑定发生在运行时刻; 我们也称运行期绑定的函数是多态的;3、在C++中,只有满足一定的条件,才可能是多态的,这些条件是: (1)必须有一个继承体系结构; (2)继承体系结构中的一些类必须具有同名(相同函数签名)的virtual成员函数; (3)至少有一个基类类型的指针或基类类型的引用。这个指针或引用可对virtual成员函数进行调用; 例如: 1 #includ... 阅读全文
posted @ 2012-11-19 16:39 china_victory 阅读(351) 评论(0) 推荐(0) 编辑
摘要: (一)基本概念和语法1、术语:父类(基类)、子类(派生类)、单继承、多继承;2、一个继承实例:(默认继承方式是private)1 //类BC继承自DC2 class BC : public DC {3 //........ 4 };3、继承机制下的私有成员: 基类的私有成员可以有派生类继承,但对派生类是不可见的;4、改变访问方式: 使用 using 可以改变成员在派生类中的访问限制;例如:基类的公有成员可以在派生类中使用 using 将其改为私有成员; 1 class DC { 2 public : 3 void set_x( float a ... 阅读全文
posted @ 2012-11-18 14:59 china_victory 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 几点说明:(1)发送的数据不能有空格;(2)这是控制台应用程序;1、UserMesInfo.h 公共文件,客户端和服务器端公用; 1 #ifndef User_Mes_Sock 2 #define User_Mes_Sock 3 #include <winsock2.h> 4 #endif 5 6 const short MesLogin = 1001; 7 const short MesError = 1002; 8 const short MesNormal = 1003; 9 const short LoginSuc = 1004;10 const s... 阅读全文
posted @ 2012-11-17 22:17 china_victory 阅读(12211) 评论(4) 推荐(1) 编辑
摘要: (一)基本概念:1、类与对象:1 //声明类2 class Human {3 4 //... Data members and methods go here5 6 };7 8 //定义对象9 Human human; 2、通常用class声明类,struct也可以,只不过在信息隐藏机制上有点区别;struct默认是public,而class默认是private;只能在类的成员函数或friend函数中访问类的非公有成员;3、成员选择符:' . ' 和 ' -> ';4、成员函数的定义: 两种方式:一种在类内定义,所定义的成员函数都是inline类型的;一种 阅读全文
posted @ 2012-11-17 10:11 china_victory 阅读(287) 评论(0) 推荐(0) 编辑
摘要: (一)类和抽象数据类型1、通过类实现的接口(公有和私有)可实现信息隐藏、实现对数据的封装等;2、抽象数据类型(ADT:Abstract Data Type):当一个数据类型仅暴露公有接口,而将其私有实现隐藏起来,这个数据类型就是抽象的;“隐藏机制”是实现抽象数据类型的关键;(二)继承与多态:1、继承:可提高代码的重用性;C++支持“单重继承”和“多重继承”;1 // : 代表继承2 // public 代表继承方式3 class Sportscar : public Car {4 //...... 5 }2、多态:多个不同函数可以具有相同的函数签名;究竟哪个类的成员函... 阅读全文
posted @ 2012-11-16 16:26 china_victory 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 1、主要用到的函数: CreateEvent(); ResetEvent(); //将某事件对象设置为非信号状态; SetEvent(); //将某事件对象设置为有信号状态; //TRUE代表人工重置的事件对象,当事件有信号时,多有等待的线程都变为可调度线程,可同时运行;最好不要采用人工重置的事件对象;采用自动重置的事件对象,只有一个线 //程可调度 //FALSE代表非信号状态,最后一个NULL代表匿名的事件对象 hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); 实例代码:#include <windows.h>#include <io 阅读全文
posted @ 2012-11-09 20:20 china_victory 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 1、多线程测试实例: 此时在多核CPU下,主线程和子线程可同时运行;时间片是怎么分配的呢?感觉好乱呢?#include <windows.h>#include <iostream>#include <stdlib.h>using namespace std;DWORD WINAPI MyThreadProc1(LPVOID lpParameter);DWORD WINAPI MyThreadProc2(LPVOID lpParameter);int index = 0;int i = 0 , y = 0;int main(){ HANDLE handle1, 阅读全文
posted @ 2012-11-09 19:44 china_victory 阅读(24666) 评论(0) 推荐(0) 编辑
摘要: 服务器端源代码(UDPServ.cpp): 1 #pragma comment(lib, "Ws2_32.lib") 2 3 #include <winsock2.h> 4 #include <ws2tcpip.h> 5 #include <stdio.h> 6 #include <windows.h> 7 8 9 int _tmain(int argc, _TCHAR* argv[])10 {11 WORD wVersionRequested;12 WSADATA wsaData;13 int err;14 15 wVers 阅读全文
posted @ 2012-11-06 19:36 china_victory 阅读(7637) 评论(0) 推荐(0) 编辑
摘要: 服务器端源代码(UDPServ.cpp): 1 #pragma comment(lib, "Ws2_32.lib") 2 3 #include <winsock2.h> 4 #include <ws2tcpip.h> 5 #include <stdio.h> 6 #include <windows.h> 7 8 9 int _tmain(int argc, _TCHAR* argv[])10 {11 WORD wVersionRequested;12 WSADATA wsaData;13 int err;14 15 wVers 阅读全文
posted @ 2012-11-06 19:33 china_victory 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 很高兴今天能够加入博客园,成为这个IT界大家庭中的一员。在这里我想有我所需要的知识,同时我也会提供我所知道的知识供大家参考。 相聚在这里是你我的荣幸,希望日后大家不吝赐教。在此向博客园中的各位博主们表示祝福。 向本站站长dudu表示敬意! 阅读全文
posted @ 2011-06-26 21:35 china_victory 阅读(149) 评论(0) 推荐(1) 编辑