湖边的白杨树

探索是一种乐趣

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年6月1日

摘要: 1. 字符基础: ASCII, MBCS/DBCS, Unicode 有3种编码模式,并对应3种字符类型。 (1)单字节字符集(single-byte character set (SBCS)). -在这种编码模式下,所有的字符都只用一个字节(Byte)标示。 -ASCII是SBCS,用一个字节标示为'\0'的来标识SBCS字符串的结束 -单字节字符包含拉丁文字母表,accented characters及ASCII标准和DOS操作系统定义的图形字符。 例如"Hi!"是如下存放的. (1Byte存放数值范围: 00 ~ FF (16进制)) ┌─────── 阅读全文
posted @ 2012-06-01 15:54 fdyang 阅读(7526) 评论(0) 推荐(0)

2012年5月30日

摘要: (C++)从本机获取WMI数据.下面的步骤被用于执行WMI程序. 第1步到第5步包含了建立和连接WMI的所有步骤。第6,7步用于数据查询和获取。1. 通过调用CoInitialzeEx来初始化COM参数.2. 通过调用CoInitializeSecurity来初始化COM过程安全.3. 通过调用CoCreateInstance来实例化。4. 通过调用IWbemLocator::ConnectServer来获取一个本机root\cimv2命名空间的IWbemServices的指针。5. 设置IWbemServices代理安全,WMI service可以通过调用CoSetProxyBlanket来 阅读全文
posted @ 2012-05-30 11:46 fdyang 阅读(979) 评论(0) 推荐(0)

2012年5月28日

摘要: 如果在变量申明语句中使用了限定符const, 那么变量在程序执行期间将不能被改变。const double version = 3.2;const 常见用途:1. 定义const指针,防止函数中修改由指针参数所指向的变量。#include <iostream>using namespace std;void printStr(const char *str){ //使用const来确保函数不能修改str所指向对象. while(*str){ //*str=*str+1; //错误,不能修改参数指向的对象。 cout<<(char)*str; str++; }}int m 阅读全文
posted @ 2012-05-28 10:56 fdyang 阅读(374) 评论(0) 推荐(0)

2012年5月26日

摘要: 使用模板可以创建可重用的代码。模板可以分为两类,一个是函数模板(通用函数),另外一个是类模板(通用类)。函数模板定义了一组应用于不同数据类型的通用运算。- 使用关键字 template 来创建.template <class Type> ret-type func-name(parameter list){ //..}//或者template <class Type> ret-type func-name(parameter list){ //..}其中,Type 是一个占位符,代表函数使用的数据类型.#include <iostream>using nam 阅读全文
posted @ 2012-05-26 12:24 fdyang 阅读(225) 评论(0) 推荐(0)

摘要: 纯虚函数(pure virtual function)是指在基类中声明但是没有定义的虚函数。通用形式:virtual type func-name(parameter-list)=0;其中,type 是函数的返回类型,func-name 是函数名。=0 是把虚函数制定为纯虚函数。通过虚函数申明为纯虚函数可以强制在派生类中重新定义虚函数。(否则编译器报错)如果一个类至少含有一个纯虚函数,那么这个类被称为抽象类(abstract class).- 抽象类的重要特征:不能定义抽象类型的对象,抽象类只能作为其他类的基类,不能用来声明对象。- 抽象类可以用来声明指针或者引用,并以此支持运行时对态。//这 阅读全文
posted @ 2012-05-26 11:27 fdyang 阅读(412) 评论(0) 推荐(0)

摘要: 虚函数是指在基类中使用了vitual申明,并且在一个或多个派生类中被重新定义的函数。-> 每个派生类可以拥有自己的虚函数定义。- C++根据指针指向对象的类型来决定调用虚函数的哪个定义,这种定义实在运行时作出的。- 当虚函数在派生类中重新定义时,关键字virtual 不需要重复。(重复也不是错误) ;虚函数的继承: 无论经过多少层的继承函数,都是虚函数。- 包含虚函数的类被称为多态类。 ;虚函数+继承,使C++支持运行多态.(Polymorphism)#include <iostream>using namespace std;class base{public: virtu 阅读全文
posted @ 2012-05-26 10:06 fdyang 阅读(231) 评论(0) 推荐(0)

2012年5月25日

摘要: 通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类(base class),又称为父类。由已存在的类派生出的新类称为派生类(derived class),又称为子类。继承的通用形式:class derived-class:access base-class{ //}access 是可选的,- 默认的话,是private (派生类是class). 或 public (派生类是struct).- 如果使用的话,必须是 public,private 或 protected.基类的访问控制#in 阅读全文
posted @ 2012-05-25 17:12 fdyang 阅读(676) 评论(0) 推荐(0)

摘要: type classname::operator#(arg-list){ //}运算符重载 (Operator Overloading)运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。运算符重载与函数重载是紧密相连的。可以创建一个operator 函数来定义运算符的行为。通用形式如下:type 是具体运算返回值的类型。#代表需要重载的运算符。使用成员函数重载运算符。#include <iostream>using namespace std;class three_d{ int x,y,z;public: three_d(){ x=y=z=0; 阅读全文
posted @ 2012-05-25 12:26 fdyang 阅读(176) 评论(0) 推荐(0)

摘要: 首先要理解在C++中将一个对象的值赋给另一个对象有两种不同的方法。第一种方法是赋值(Assignment),第二种时初始化(Initialization).初始化用于以下3种情况:(1)当一个对象副本被作为参数传递给函数时。(2)当一个对象被另一个对象显式地初始化(explicitly initialize)时,例如在对象的声明(declaration)中。(3)当创建一个临时对象时(作为返回值)复制构造函数只能用于初始化,不能用于赋值计算。通用形式:classname (const classname &obj){ //..}#include <iostream>#inc 阅读全文
posted @ 2012-05-25 10:51 fdyang 阅读(205) 评论(0) 推荐(0)

2012年5月24日

摘要: 友元函数是指:虽然不是类成员却能够访问类的所有成员的函数。- 如果将一个非成员函数声明为类的友员,那么这个函数可以访问类的私有成员。- 关键字friend使一个非成员函数能够访问类的私有成员。#include <iostream>using namespace std;class myclass{ int a,b;public: myclass(int i,int j){ a=i; b=j; } friend int sum(myclass x); //sum()是myclass类的友元函数。};int sum(myclass x){ //sum()不是任何类的成员函数。 retu 阅读全文
posted @ 2012-05-24 17:03 fdyang 阅读(198) 评论(0) 推荐(0)