2013年3月31日

C++ const关键字

摘要: 1.如果函数的形参是指向非const型变量的指针,则实参只能用指向非const变量的指针,而不能指向const变量的指针,这样在执行函数的过程中可以改变形参指针变量所指向的值,如果函数的形参指向const型变量的指针,则在执行函数的过程中显然不能改变指针变量所指向变量的值,因此允许实参是指向const或者非const变量的指针。 2.在定义类对象的时候,如果对象指定为常对像,常对像的数据成员必须有初始值,即成员变量必须初始化。如过一个对象被声明为常对像,则不能调用该对象的非const型成员函数,除了由系统调用的隐式构造函数和析构函数。如果定义了一个const对象,只能调用其中的const... 阅读全文

posted @ 2013-03-31 20:32 lzm风雨无阻 阅读(819) 评论(0) 推荐(1) 编辑

C++ 虚继承

摘要: 多重继承中,一个基类可以在派生层次中出现多次,如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多分同名成员。C++提供虚基类的方法使得在继承间接共同基类时只保留一份成员。 1.通常,每个类至初始化自己的直接基类,在应用于虚基类的时候,这个初始化策略会失败。如果使用这个规则,则可能多次初始化虚基类。为了解决这个问题,从具有虚基类的类继承的类初始化进行特殊处理。在虚派生中,由最底层的派生类构造函数初始化虚基类。即使是最底层派生类的非直接虚基类,也在最底层的虚派生类中调用其构造函数。 2.无论虚基类出现在继承层次中的任何地方,总... 阅读全文

posted @ 2013-03-31 17:04 lzm风雨无阻 阅读(1989) 评论(1) 推荐(0) 编辑

C++ 多重继承

摘要: 大多数应用程序使用单个基类的公用继承,但是在某些情况下,单继承是不够的,必须使用多继承,当然多继承也会带来很多的麻烦,下面列出了多继承的一些要点和注意事项。 1.基类的构造函数与按照派生类列表中出现的次序调用,析构函数的调用次序总是和构造函数的调用次序相反。 2.多重继承的情况下,遇到二义性的可能将会更大,编译器不会试图根据派生类转换区别基类间的转换,转换成每个基类都一样好,有如下代码:class ZooAnimal{};class Bear : public ZooAnimal{};class Endangered{};class Panda : public Bear, publi... 阅读全文

posted @ 2013-03-31 16:28 lzm风雨无阻 阅读(12219) 评论(0) 推荐(0) 编辑

导航