摘要: 假设有这样的类 1 class Base 2 { 3 public: 4 Base() 5 { 6 clear(); 7 } 8 virtual ~Base() 9 {10 int a = 0;11 }12 virtual void fun()13 {14 cout << "base" << endl;15 }16 void clear()17 {18 memset(this,0,sizeof Base);19 }20 int ... 阅读全文
posted @ 2012-11-13 10:27 可乐爱上了雪碧 阅读(367) 评论(0) 推荐(0) 编辑
摘要: String类的编写1,const & class 可以调用私有成员2. 友元函数重载 1 class MyString 2 { 3 public: 4 MyString(char * s = NULL) 5 { 6 if(s != NULL) 7 { 8 int size = strlen(s) + 1; 9 m_str = new char[size];10 strcpy(m_str, s);11 }12 else m_str = NULL... 阅读全文
posted @ 2012-11-12 17:25 可乐爱上了雪碧 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 本篇文章适合比较熟悉多线程并且想学习线程同步的读者。最近由于使用多线程,不可避免的要用到线程之间的同步,对一些常用的windows 中同步函数和机制有了一些初步的了解,并且写了一些小例子来验证,当然其中难免有错误和疏漏之处,希望高手能给我这个小鸟指出不足之处,非常感谢。目录一 临界区二 互斥体三 事件四 信号量五 附录一 临界区临界区的使用在线程同步中应该算是比较简单,说它简单还是说它同后面讲到的其它方法相比更容易理解。举个简单的例子:比如说有一个全局变量(公共资源)两个线程都会对它进行写操作和读操作,如果我们在这里不加以控制,会产生意想不到的结果。假设线程A正在把全局变量加1然后打印在屏幕上 阅读全文
posted @ 2012-11-07 23:30 可乐爱上了雪碧 阅读(539) 评论(0) 推荐(0) 编辑
摘要: ShellExecute ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。 有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。 ShellExecute函数原型及参数含义如下: ShellExecute( HWND hwnd, //父窗口句柄 (如:NULL,Handle等) LPCSTR lpOperation, //操作类型 (如:"open")*要加英文双引号 LPCSTR lpFile, //要进行操作的文件或路 阅读全文
posted @ 2012-11-01 15:26 可乐爱上了雪碧 阅读(41613) 评论(0) 推荐(2) 编辑
摘要: 初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却 大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟就是我在学习编程过程中的一点经验,是编译器这方面的一个具体功能.首先:我们要知道什么是类的实例化,所谓类的实例化就是在内存中分配一块地址.那我们先看看一个例子:#include<iostream.h>class a {};class b{};class c:public a{virtual void fun()=0 阅读全文
posted @ 2012-10-26 19:52 可乐爱上了雪碧 阅读(356) 评论(0) 推荐(0) 编辑