湖边的白杨树

探索是一种乐趣

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  218 随笔 :: 1 文章 :: 14 评论 :: 59万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

05 2012 档案

摘要:(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 阅读(966) 评论(0) 推荐(0) 编辑

摘要:如果在变量申明语句中使用了限定符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 阅读(367) 评论(0) 推荐(0) 编辑

摘要:使用模板可以创建可重用的代码。模板可以分为两类,一个是函数模板(通用函数),另外一个是类模板(通用类)。函数模板定义了一组应用于不同数据类型的通用运算。- 使用关键字 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 阅读(213) 评论(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 阅读(398) 评论(0) 推荐(0) 编辑

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

摘要:通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类(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 阅读(650) 评论(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 阅读(173) 评论(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 阅读(195) 评论(0) 推荐(0) 编辑

摘要:友元函数是指:虽然不是类成员却能够访问类的所有成员的函数。- 如果将一个非成员函数声明为类的友员,那么这个函数可以访问类的私有成员。- 关键字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 阅读(193) 评论(0) 推荐(0) 编辑

摘要:使用内联函数的时候,编译器并不是直接调用函数而是展开内联函数的代码并将其插入到程序代码中。- 提高程序运行效率。(内联函数的代码是被展开,而不是被调用)- 编译器不会为包含选择/循环/递归的函数产生代码。(不支持switch,while 等)- 内联函数不允许含有static类型的变量创建内联函数:方法一: 使用 inline 修饰符class myclass{ int i;public: int get_i(); void put_i(int k);};inline int myclass::get_i(){ return i;}inline void myclass::put_i(int 阅读全文
posted @ 2012-05-24 16:25 fdyang 阅读(260) 评论(0) 推荐(0) 编辑

摘要:通过构造函数,使对象在创建时就可以对自身进行初始化。- 构造函数名和类名相同。- 构造函数是没有返回类型的。(C++中,不需要返回值. 用 void 返回类型也不行)class queue{ int q[20]; int front,rear;public: queue(); //构造函数 void qput(int i); int qget():};queue::queue(){ front=rear=0; cout<<"Queue is initialized.\n";}通过析构函数来销毁对象。- 析构函数的名和类名相同,但是多了个~(取反)符号。- 也没有 阅读全文
posted @ 2012-05-24 12:23 fdyang 阅读(394) 评论(0) 推荐(0) 编辑

摘要:创建一个队列类(Queue, FIFO)声明:class queue{ int q[20]; int front,rear; public: void init(); void qput(int i); int qget();};成员变量:q[], front , rear - 默认的情况下是私有的(private): 只能被queue类的成员访问.成员函数: init(), qput(); qget();- public: 可以被程序中的其他函数访问.- 要实现成员函数,需要使用运算符:: (作用域解析运算符)告诉成员函数是属于该类的。void queue::qput(int i){ ... 阅读全文
posted @ 2012-05-24 11:38 fdyang 阅读(504) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示