码家

Web Platform, Cloud and Mobile Application Development

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

2011年10月12日

摘要: 一、#include “filename.h”和#include 的区别#include “filename.h”是指编译器将从当前工作目录上开始查找此文件#include 是指编译器将从标准库目录中开始查找此文件二、头文件的作用加强安全检测通过头文件可能方便地调用库功能,而不必关心其实现方式三、* , &修饰符的位置对于*和&修饰符,为了避免误解,最好将修饰符紧靠变量名四、if语句不要将布尔变量与任何值进行比较,那会很容易出错的。整形变量必须要有类型相同的值进行比较浮点变量最好少比点,就算要比也要有值进行限制指针变量要和NULL进行比较,不要和布尔型和整形比较五、const和 阅读全文
posted @ 2011-10-12 14:31 海山 阅读(1247) 评论(0) 推荐(0)

摘要: 面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作 用就体现出来了,这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,你可以把这些派生类,都放到一个数组中。如果这些对象都有同名方法,就可以调用每个对象的同名方法。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过派生类重载基类中的虚函数型方法来实现。在面向对象的系统中,多态性是一个非常重要的概念,它允许客户对一个对象进行操作,由对象来完成一系列的动作,具体实现哪个动作、如 阅读全文
posted @ 2011-10-12 14:10 海山 阅读(170) 评论(0) 推荐(0)

摘要: 虚函数,重写。虚函数表重载多态,强制多态,包含多态,参数多态。普通函数和类的成员函数的重载属于重载多态,还有运算符重载。强制多态包括类型强制转换等。包含多态主要通过虚函数来实现。参数多态和类模板相关。C++中的多态只能通过指向基类类型的指针和引用来调用对象的虚函数来实现因为可以用派生类对象来初始化或者给基类类型的指针赋值。就是基类类型的指针所指向的对象有可能是基类型,也可能是派生类型,所以只有到运行时刻我们才知道指针所指向的对象到底是什么类型,所以当我们通过基类型的指针调用对象的虚函数时,只有判断该对象的类型后才知道调用的虚函数是哪一个类型的版本。例如 A是基类型,B是A的派生类,他们都有虚函 阅读全文
posted @ 2011-10-12 14:09 海山 阅读(2390) 评论(0) 推荐(0)

摘要: 待读 阅读全文
posted @ 2011-10-12 13:57 海山 阅读(126) 评论(0) 推荐(0)

摘要: 虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。下面来看一段简单的代码class A{public:void print(){ cout<<”This is A”<<end 阅读全文
posted @ 2011-10-12 13:52 海山 阅读(367) 评论(0) 推荐(0)

摘要: C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析。当然,相同的文章在网上也出现过一些了,但我总感觉这些文章不是很容易阅读,大段大段的代码,没有图片,没 阅读全文
posted @ 2011-10-12 13:47 海山 阅读(183) 评论(0) 推荐(0)

摘要: 在C++编程中使用指针能有速度快,节约内存等优点,是很多C++程序员的最爱。但指针是一把双刃剑,用好了它,你就会发现指针有多么的方便,反之,你可能就头疼了,往往会出现意想不到的问题。 一.什么是指针: 其实指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针只是一个指示器,它告诉程序在内存的哪块区域可以找到数据。 这是一个非常重要的概念,有很多程序和算法都是围绕指针设计的,如链表、遍历等。 指针是一个数据类型,本身也需要占用四个字节的存储空间。所以用sizeof(void*)获得的值为4。 二.指针的定义 看如下的例子:int *pNumber; 这样就定... 阅读全文
posted @ 2011-10-12 13:37 海山 阅读(182) 评论(0) 推荐(0)

摘要: 对于众多人提出的c/c++中指针难学的问题做个总结: 指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同,*x所表示的其实就是变量a本身,x表示的是变量a在内存中的地址,如果想明白可以输出观察cout<<*x"|"x;,当定义了int *x;后对x=&a的理解的问题。仔细阅读和联系下面的两个例子我想指针问题就不是难点了!#include<stdio.h> main() { inta,b;/*定 阅读全文
posted @ 2011-10-12 13:35 海山 阅读(160) 评论(0) 推荐(0)