上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 25 下一页
内联函数:当它们被调用的时候,编译器将试图在同一行内拓展该函数。1.在类的内部定义的函数将自动作为内联inline函数处理。2.在类的定义体内部指定一个成员为inline,作为声明的一部分,或者也可以在类定义体外部的函数定义上指定inline,在声明和定义处指定inline都是合法的。3.inline成员函数的定义必须在调用该函数的每个源文件中是可见的。 Read More
posted @ 2013-04-02 15:00 星语海蓝 Views(174) Comments(0) Diggs(0) Edit
静态数据成员:1.静态数据成员实际上是类域中的全局变量。2.静态数据成员的初始化在主函数调用之前,并且不能在类的声明中出现。3.静态数据成员的状态并不会随着一个新的对象的新建而重新定义。4.静态数据成员的使用应该是类名称加区域分隔符加静态成员名称的,虽然我们仍然可以使用对象名加点操作符号加成员名称的方式使用,但是不推荐的,静态态类成员的特性就是属 于类而不专属于某一个对象5.不要试图在头文件中定义(初始化)静态数据成员。在大多数的情况下,这样做会引起重复定义这样的错误。即使加上#ifndef #define #endif或者#pragma once也不行。6.静态数据成员被 类 的所有对象.. Read More
posted @ 2013-04-02 14:11 星语海蓝 Views(271) Comments(0) Diggs(0) Edit
1.const 定义一个常量,常量在定义之后就不可以在修改,任何修改的尝试都会引起编译错误,所以在定义的时候必须初始化。 const int nTemp = 9;2.在全局作用域声明的const变量是定义该对象的文件的局部变量,只存在于那个文件中,不能被其他文件访问; 通过指定const变量为extern,就可以在整个程序中访问const对象。 file_1.cc extern const int bufsize = 10; file_2.cc extern const int bufsize; for(int index = 0; index <= bufsize; index++); Read More
posted @ 2013-04-02 11:30 星语海蓝 Views(243) Comments(0) Diggs(0) Edit
1.数组类型的变量有三个原则:数组的长度固定不变; 编译的时候必须知道其 长度; 数组只在定义它的块语句内存在;2.动态分配数组三个优势:编译的时候不必知道其长度; (通常)运行时才确定其长度; 动态分配的数组一直存在,直到程序显式释放它为止;3.动态分配 数组时,只需要制定类型和数组长度,不必为数组对象命名,new表达式返回指向新分配数组的第一个元素的指针;只能通过地址间接访问对象。4.动态分配数组的时候,如果数组元素具有类类型,将使用该类的默认构造函数实现初始化;如果... Read More
posted @ 2013-03-29 14:53 星语海蓝 Views(487) Comments(0) Diggs(0) Edit
相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加malloc/free。(2)在用法上也有所不同。函数malloc 的原型如下:void * malloc(size_t size);用malloc 申请一块长度为lengt Read More
posted @ 2013-03-28 14:22 星语海蓝 Views(242) Comments(0) Diggs(0) Edit
《TinyXml快速入门(一)》 对于xml文件,目前我的工作只是集中在配置文件和作为简单的信息文件来用,因此我不太喜欢使用msxml这种重量级的xml解析器,特别是使用msxml解析xml涉及到复杂的com类型转换,更是令人感觉繁琐。因此对于简单的xml文件的解析,我更愿意使用开源的TinyXml。 首先介绍一下TinyXml吧。TinyXML是目前非常流行的一款基于DOM模型的XML解析器,简单易用且小巧玲珑,非常适合存储简单数据,配置文件,对象序列化等数据量不是很大的操作,其主页是:http://www.grinninglizard.com/tinyxml/,目前最新版本是2.5.3 版 Read More
posted @ 2013-03-13 13:22 星语海蓝 Views(493) Comments(0) Diggs(0) Edit
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。静态类成员包括静态数据成员和静态函数成员两部分。在没有讲述本章内容之前如果我们想要在一个范围内共享某一个数据,那么我们会设立全局对象,但面向对象的程序是由对象构成的,我们如何才能在类范围内共享数据呢? 这个问题便是本章的重点: 声明为static的类成员或者成员函数便能在类的范围内共同享,我们把这样的成员称做静态成员和静态成员函数。 下面我们用几个实例来说明这个问题,类的成员需要保护,通常情况下为了不违背类的封装特性,我们是把类成员设置为protected(保护状态... Read More
posted @ 2013-03-12 14:38 星语海蓝 Views(343) Comments(0) Diggs(0) Edit
C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。 C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override),或者称为重写。(这里我觉得要补充,重写的话可以有两种,直接重写成员函数和重写虚函数,只有重写了虚函数的才能算作是体现了C++多态性)而重载则... Read More
posted @ 2013-03-11 14:21 星语海蓝 Views(1161) Comments(0) Diggs(0) Edit
一、定义.纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”virtualvoid funtion1()=0二、引入原因:1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。为了解决上述问题,引入了纯虚函数的概念,将函数定义为纯虚函数(方法:virtual ReturnType Function()= 0;),则编译器要求在派生类中必须予以重载以实现多态性。同时含有纯 Read More
posted @ 2013-03-04 13:20 星语海蓝 Views(201) Comments(0) Diggs(0) Edit
TiXmlPrinter printer; printer.SetIndent(NULL); doc.Accept(&printer); // 申请队列结点内存空间 pDevEventInfo = CDevDev::m_qProtoQueue->GetBuffer(FALSE); if (pDevEventInfo != NULL) { //发送协议的内容 strcpy(pDevEventInfo->m_strXml,printer.CStr());// 将TiXmlDocument转成char* // 发送服务器类型 pDevEventInfo->m_eServer Read More
posted @ 2013-02-28 13:58 星语海蓝 Views(490) Comments(0) Diggs(0) Edit
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 25 下一页