面向对象1 封装隐藏实现细节,提供简单的编程接口2 继承从已有的类创建新类的过程提供继承信息的类叫父类(超类、基类)得到继承信息的类叫子类(派生类、衍生类)子类是用来扩展父类能力的,如果子类缩小的父类的能力,这种继承关系是不能成立的继承的关键字extendsJava中的继承是单继承(一个类只能继承一...
分类:
其他好文 时间:
2014-06-28 15:08:20
阅读次数:
121
一、 成员初始化列表的位置。成员初始化列表的位置位于构造函数的函数体和参数表之间。构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式,初始化式可以是表达式、派生类构造函数的形参还有其余常量。通过成员初始化表,类数据成员可以被显式初始化。成.....
分类:
编程语言 时间:
2014-06-28 11:06:37
阅读次数:
266
1,如果基类没有default构造函数,则意味着其不能自己初始化。如果其被派生,派生类的构造函数要负责调用基类的构造函数,并传递给它需要的参数。下例中Base2,如果类成员没有默认构造函数。下例中Elem42,如果类的成员变量中含有const成员变量,如果不使用列表,在构造函数中是不能对其赋值的,会...
分类:
其他好文 时间:
2014-06-27 21:41:06
阅读次数:
256
C++面试题1.是不是一个父类写了一个virtual 函数,假设子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,仅仅事派生类没有訪问权限而已virtual可加可不加子类的空间里有父类的全部变量(static除外)同一个函数仅仅存在一个...
分类:
编程语言 时间:
2014-06-27 21:02:04
阅读次数:
235
首先,此处的函数指的是 virtual 函数,为什么不是non-virtual函数呢?是因为在public继承中,non-virtual函数表示派生类是需要继承其接口与其强制实现的。如果你的Derived已经在考虑重写non-virtual函数了,那么你是应该好好审视一下,在此处使用 public继承是否合理了。
因此,本文只讲解virtual函数的缺省参数值,例如下面的代码:
{CSDN...
分类:
其他好文 时间:
2014-06-25 07:33:08
阅读次数:
185
1 、public ,对访问成员无限制,属于访问级别最高的权限。protected 访问包含类或者丛类派生类的类。internal 仅限于程序集,protected inernal 访问仅限于从包含类中派生的当前程序集或类型。private 仅限于范文包含的类型。2、 多态分为四种:强制,重载,参数...
分类:
Web程序 时间:
2014-06-24 12:09:18
阅读次数:
159
C++规定了虚函数的行为,但是将实现交给了编译器的作者.
通常,编译器处理虚函数的方法是给每一个对象添加一个隐藏成员.隐藏成员中保存了一个指向函数地址数组的指针.
这个数组称为虚函数表(virtual function table,vtbl).虚函数表中存储了为类对象进行声明的虚函数的地址.
例如:基类对象包含一个指针,该指针指向基类的虚函数表.
派生类对象包含一个指针,该指针指向一个独立...
分类:
编程语言 时间:
2014-06-22 17:06:32
阅读次数:
239
在派生的过程中,构造函数和析构函数是不继承的,因此在初始化时,派生类的构造函数就必须完成基类的私有变量初始化。解决问题的思路,在派生类调用基类的构造函数执行派生类构造函数的顺序是:调用基类构造函数,对基类数据成员初始化;调用子对象构造函数,对子对象数据成员初始化;再执行派生类构造函数本身,对派生类数...
分类:
编程语言 时间:
2014-06-21 09:22:42
阅读次数:
252
1,成员访问属性一,对于类的实现来说:private:类内部(包括类域范围内)可访问。protect:类内部(包括类域范围内)或 派生类类内部(包括类域范围内)可访问。public: 类内部和外部均可访问。二,对于类的对象来说:单个类的对象:对象只可访问公有属性的成员。2.类继承属性
分类:
其他好文 时间:
2014-06-20 14:39:03
阅读次数:
213
一.虚基类——在继承方式(public / private)class B1: virtual public B0{};作用:防止多重继承中二义性,保证成员唯一标识是核心。【比较】 作用域分辨符:: vs 虚基类 相同:都是为了保证 唯一标识成员 不同:①“::” 在派生类中,同名成员有多...
分类:
编程语言 时间:
2014-06-18 08:52:01
阅读次数:
222