1.普通内置类型变量的初始化 全局变量和静态变量会自动初始化为0,而在函数体内(当然包括main)的变量不会自动初始化,其值是随机的,所以声明一个变量之后立刻初始化是明智的。2.类类型变量的初始化 类类型变量会自动调用默认构造函数初始化。如果该类是派生类,会首先调用基类的默认构造函数。3.类中内.....
分类:
编程语言 时间:
2014-07-16 23:22:08
阅读次数:
223
#include #includeusing namespace std;class Student//声明基类{public://公用部分 Student(int n, string nam)//基类构造函数 { num=n; name=nam; } void ...
分类:
其他好文 时间:
2014-07-10 11:23:39
阅读次数:
193
主要用来在没有实现文件,只有头文件的情况下,添加派生类的功能,如下例给programmer加奖金。注意:dynamic_cast不能用于没有virtual函数的类/////////////////////////////////////////////////////////////////////...
分类:
其他好文 时间:
2014-07-07 19:05:40
阅读次数:
165
static_cast: 这种强制转换只会在编译时检查。如果编译器检测到您尝试强制转换完全不兼容的类型,则static_cast会返回错误。您还可以使用它在基类指针和派生类指针之间强制转换,但是,编译器在无法分辨此类转换在运行时是否是安全的。dynamic_cast:dynamic_cast在运行....
分类:
编程语言 时间:
2014-06-30 14:27:44
阅读次数:
164
1.派生类构造函数的调用
(1)一个基类的所有数据成员均被派生类继承。创建一个派生类对象时,系统在为派生类对象分配单元时一定要为其基类数据成员分配子空间。
(2)一个派生类对象在创建时不仅要调用派生类构造函数,而且要调用基类构造函数。
派生类中的数据成员在派生类中构造。
基类中的数据成员在基类中构造。
原因:
A.构造函数不继承。
B.派生类的构造函数必须通过调用基类的构造函数完成基...
分类:
编程语言 时间:
2014-06-30 07:45:28
阅读次数:
216
看下面的这段代码,问 print调用的是基类还是派生类的版本?
{CSDN:CODE:410156}
答案是 基类。。。
可能大家会很惊讶,print不是virtual function 吗?为什么不是调用派生类的版本呢?
首先,当定义一个派生类的对象的时候,由于 base class 构造函数的执行更早于 derived class
构造函数,所以当 base cl...
分类:
其他好文 时间:
2014-06-30 00:48:35
阅读次数:
267
C++的继承
1.继承方式
public(公有继承)
派生类中的成员可以访问基类的public成员和protected成员,但不能访问基类的private成员。
派生类的对象只能访问基类的public成员。
protected(保护继承),private(私有继承)
派生类中的成员可以访问基类的public成员和protected成员,但不能访问基类的private成员。
派...
分类:
编程语言 时间:
2014-06-29 22:37:19
阅读次数:
227
一、抽象类:抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。...
分类:
其他好文 时间:
2014-06-29 19:13:04
阅读次数:
164
override是指派生类重写基类的虚函数,就像某个类中...
分类:
其他好文 时间:
2014-06-28 07:41:31
阅读次数:
156
(1)当基类中没有自己编写的构造函数时,派生类默认条用基类的构造函数(2)当基类中有自己编写的构造函数时,要在基类中添加无参的构造函数Java代码publicclassMyBaseClass{publicMyBaseClass(){}publicMyBaseClass(inti){Console.W...
分类:
其他好文 时间:
2014-06-26 21:56:08
阅读次数:
219