10 2011 档案
摘要:#include <stdlib.h>#include <iostream>using namespace std;class CLS{public: int m_i; CLS( int i ) : m_i(i){} CLS() { CLS(0); }};int main(){ CLS obj; cout << obj.m_i << endl; system("PAUSE"); return 0;}打印结果是不定的,不一定为0代码奇怪的地方在于构造函数中调用了自己的另一个构造函数我们知道,当定义一个对象时,会按顺序做2件事情:
阅读全文
摘要:原作者:James BrownOriginal Author: James Brown原文链接:http://www.catch22.net/tuts/sysimg.aspOriginal Link:http://www.catch22.net/tuts/sysimg.asp点这里下载示例程序及其源码注意:本文的中文翻译工作已得到了原文作者 James Brown 的邮件授权,如果您需要转载,请联系 James 本人。 系统图像列表(有时亦被称作 Shell 图标缓存)是一个由 Windows Shell 维护的图标资源,资源管理器和其它应用程序使用这个列表来显示系统对象、程序和文件类型的图标
阅读全文
摘要:大家知道,很多Windows程序都使用MessageBox()来显示一个对话框给用户以提示,只要在这个API函数的一个参数中使用MB_ICONQUESTION标志,便可以在MessageBox的对话框中显示问号图标。如果用不同的标志,对话框便可以显示不同的图标。与Windows以前的老版本相比,Windows 2000以及Windows XP中的图标越来越好看,种类也越来越多。 前段时间, 做的项目中对界面进行了重写,在基本完工的时候发现MessageBox()的风格和开发的程序非常不协调,所以打算使用自定义对话框来替代MessageBox(), 要和MessageBox()产生一样...
阅读全文
摘要:如何让对话框右上角那个关闭按钮(X)变灰,也就是把它Disable再OnInitDialog()中添加:GetSystemMenu(FALSE)-> EnableMenuItem(SC_CLOSE,MF_BYCOMMAND|MF_GRAYED);
阅读全文
摘要:#if !defined(AFX_SEARCHBOX_H__4AAEB096_F117_4139_8F63_94C9E64041E5__INCLUDED_)#define AFX_SEARCHBOX_H__4AAEB096_F117_4139_8F63_94C9E64041E5__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000// MySearchBox.h : header file//////////////////////////////////////////////////////////
阅读全文
摘要:(178, 2, 'views', '2856'),(180, 128, 'views', '586'),(182, 136, 'views', '542'),(184, 139, 'views', '521'),(186, 146, 'views', '973'),(188, 158, 'views', '932'),(189, 162, 'views', '447'),
阅读全文
摘要:#include <stdexcept>template <typename T,int MAXSIZE>class Stack{private: T elems[MAXSIZE]; int numElems;public: Stack(); void push(T const&); void pop(); T top() const; bool empty() const{return numElems==0;} bool full() const {return numElems==MAXSIZE;}};//构造函数template <typ...
阅读全文
摘要:#include <iostream>using namespace std;//求两个int值的最大值inline int const& max(int const& a,int const& b){ return a<b ? b:a;}//求两个任意类型值中的最大者template <typename T>inline T const& max(T const& a,T const& b){ return a<b ? b:a;}int main(){ ::max(7.0,42.0);//调用max<d
阅读全文
摘要:#include <iostream>using namespace std;class Base{public: void fm(){cout<<"base::fm()\n";} void fm(int){cout<<"base::fm(int)\n";}};class D:public Base{public: //using Base::fm; void fm(){cout<<"D::fm()\n";}};int main(){ D d; d.fm(); d.fm(1);//err
阅读全文
摘要:#include <iostream>using namespace std;void print(){ cout<<"in the print function"<<endl;}int main(){ //使用typedef方法 typedef void (*func)(); func fun=print; fun(); //直接定义 void (*f)()=print; f(); return 0;}一般typedef使用的比较常见,在导出dll方法的时候使用的较多
阅读全文
摘要:#include <iostream>using namespace std;class B{ public: virtual void fun(int nNoUse=0) const=0;};class D1:public B{ public: virtual void fun(int nNoUse=1) const{cout<<nNoUse<<endl;}};class D2:public B{ public: virtual void fun(int nNoUse) const{cout<<nNoUse<<endl;}};int
阅读全文
摘要:公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。2. 私有继承(private)私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。3. 保护继承(protected)保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。下面列出三种不同的继
阅读全文
摘要:1、函数指针的声明格式: 函数返回值类型(*指针变量名)(参数类型列表) 或者是: typedef 函数返回值类型 (*指针变量名)(参数类型列表)2.使用typedef你可以使用typedef来隐藏一些指向成员函数的复杂指针。例如,下面的代码定义了一个类A中的成员函数的指针PMA,并传递char *和const char *参数。typedef void(A::*PMA)(char *, const char *); PMA pmf= &A::strcat; // use a typedef to define a pointer to member 使用type...
阅读全文

浙公网安备 33010602011771号