 |
virtual function(虚函数)
|
|
| |
| 1.简介
虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:
class A
{
public:
virtual void foo() { cout << "A::foo() is called" << endl;}
};
class B: public A
{
public:
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读1084次,回复0次 |
|
|
 |
virtual function(虚拟函数)
|
|
| |
| 虚拟函数是指基类的成员函数,其中该函数是使用关键字virtual声明的。如果基类中包含一个虚拟函数,而且派生类定义了相同的函数,那么为派生类的对象将调用来自派生类的函数,即使是使用指向基类的指针或者基类的引用调用这个函数的。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读884次,回复0次 |
|
|
 |
volatile
|
|
| |
| 限定一个对象可被外部进程(操作系统、硬件或并发线程等)改变,声明时的语法如下:
int volatile nVint;
这样的声明是不能达到最高效的,因为它们的值随时会改变,系统在需要时会经常读写这个对象的值。 只常用于像中断处理程序之类的异步进程进行内存单元访问。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读833次,回复0次 |
|
|
 |
window class(窗口类)
|
|
| |
| 窗口类是指Microsot Windows使用它作为模板来在应用程序中创建窗口的一组属性。Windows要求应用程序提供一个类名、窗口过程地址和一个实例句柄。其他元素可以用来定义该类的窗口的缺省属性,比如窗口中的光标形状和菜单内容。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读837次,回复0次 |
|
|
 |
window origin(窗口原点)
|
|
| |
| 1.窗口原点是指窗口的客户区的左上角。 2.窗口原点是指从其开始度量区域的窗口的角。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读886次,回复0次 |
|
|
 |
window procedure(窗口过程)
|
|
| |
| 窗口过程是指由操作系统调用的控制其相关窗口的外观和行为的函数。窗口过程接收和处理这些窗口的所有消息。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读830次,回复0次 |
|
|
 |
WinInet
|
|
| |
| WinInet是指包含在WININET.DLL中的一组函数,WININET.DLL使经由HTTP、FTP和Gopher对Internet的客户访问变得简单。这个函数集合是对Win32 API的扩展。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读970次,回复0次 |
|
|
 |
wizard(向导)
|
|
| |
| 向导是一种特殊形式的用户帮助,它引导用户遍历应用程序中困难或者复杂的任务。例如,数据库程序可以使用向导来生成报表和窗体。在Visual C++中,AppWizard为新的应用程序生成一个骨架程序。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读945次,回复0次 |
|
|
 |
workspace(工作空间)
|
|
| |
| 工作空间是指包含零个或者多个源文件、描述工作空间的文件、以及描述工作空间内容的文件的一个目录。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读759次,回复0次 |
|
|
 |
wrapper class(包装类)
|
|
| |
| 包装类是指其函数为另一个类对象提供可选接口的C++类。例如,通过使用C异常包装类,可以使用C++捕获处理程序将C异常作为类型异常来处理。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读875次,回复0次 |
|
|
 |
wrapper function(包装函数)
|
|
| |
| 包装函数是指其用途是为另一个函数提供接口的函数。这样的接口可以创建原始函数中不存在的类型安全。
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读912次,回复0次 |
|
|
 |
野指针
|
|
| |
| 野指针,也就是指向不可用内存区域的指针。通常对这种指针进行操作的话,将会使程序发生不可预知的错误。首先请诸位看以下一段“危险”的C++代码:
void function( void )
{
char* str = new char[100];
delete[] str;
// Do something
strcpy( str, "Dangerous!!" );
}
之所以说其危险,是因为这是一段完全合乎语法的代码,编译的时候完美得一点错误也不会有,然而当运行到strcpy一句的时候,问题就会出现,因为在这之前,str的空间已经被delete掉了,所以strcpy当然不会成功。对于这种类似的情况,在林锐博士的书中有过介绍,称其为“野指针”。
那么,诸位有没有见过安全的“野指针”呢?下面请看我的一段C++程序,灵感来自CSDN上的一次讨论。在此,我只需要C++的“类”,C++的其余一概不需要,因此我没有使用任何的C++标准库,连输出都是用printf完成的。
#include <stdio.h>
class CTestClass
{
public:
CTestClass( void );
int m_nInteger;
void Function( void );
};
CTestClass::CTestClass ...
|
|
| 作者:不祥 bluejoe张贴于2006-01-01 00:00:00.0,共阅读824次,回复0次 |
|
|
 |
预编译指令
|
|
| |
| extern "C" 这个预编译标识符申明C的函数不做C++方式的名字转换
----------------------------------
//编译的时候输出一个字符串
#pragma message("a message")
#pragma message(__FILE__"("(__LINE__)"):"Some message)
输出一个信息并停止编译
#error a mes
|
|
| 作者:白乔 bluejoe张贴于2006-01-01 00:00:00.0,共阅读1098次,回复0次 |
|
|