首页

2010年5月29日星期六

C++程序特性

函数的重 载:
    重 载构成的条件:函数的参数类型、参数个数不同,才能构成函数的重载。
This指针:
    1、 this指针是一个隐含指针,它是指向对象本身,代表了对象的地址。
    2、 一个类所有的对象调用的成员函数都是同一代码段。那么成员函数又是怎么识别属于同一对象的数据成员呢?原来,在对象调用时,成员函数除了接受2个实参外, 还接受到了一个对象的地址。这个地址被一个隐含的形参this指针所获取,它等同于执行this=&name.所有对数据成员的访问都隐含地被加 上前缀this->。
类的继承:
    在 C++中,给我们提供了一种重要的机制,就是继承。理解继承是理解面向对象程序设计的关键。
函数的覆盖:
    函 数的覆盖是发生在父类与子类之间的。
多态性:
    当 C+编译器在编译的时候,发现类的函数是虚函数,这个时候C++就会采用绑定(late binding)的技术,在运行时,依据对象的类型(在程序中,我们传递的类对象的地址)来确认调用的哪一个函数,这种能力就叫做C++的多态性。[什么 是虚函数(virtual)?虚函数是指一个类中你希望重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用 的是继承类的版本。
有纯虚函数的类是抽象类,不能生成对象,只能派生。他派生的类的纯虚函数没有被改写,那么,它的派生类还是个抽象类。
定义纯虚函数就是为了让基类不可实例化化,
因为实例化这样的抽象数据结构本身并没有意义.
或者给出实现也没有意义
实际上我个人认为纯虚函数的引入,是出于两个目的,
1.为了安全.因为避免任何需要明确但是因为不小心而导致的未知的结果.
提醒子类去做应做的实现.
2.为了效率,不是程序执行的效率,而是为了编码的效率. ]

没有评论:

发表评论