文档介绍:在 C++中,结构是特殊的类。
class是从 struct发展而来的。之所以将 struct和 class都保留,是因为:
1、提出 class是为了强调一种概念。
2、保留 st在 C++中,结构是特殊的类。
class是从 struct发展而来的。之所以将 struct和 class都保留,是因为:
1、提出 class是为了强调一种概念。
2、保留 struct是为了照顾到大多数人的习惯。
struct和 class是有区别的。
struct保证成员按照声明顺序在内存中存储。class不保证等等
而它们都可以继承,实现多态等。但也有少许区别。比如:
struct ;A { }
class B : A{ 继承}; //private
struct C; ://public B{ 继承}
这是由于 class默认是 private,struct默认是 public。
一般说来,struct和 class可以换用(当然要注意一些语法问题)。
而 struct更适合看成是一个数据结构的实现体,
class更适合看成是一个对象的实现体,
对私有成员进行保护,还提供与外界的接口。
从习惯上更喜欢用 class。
05:请讲一讲析构函数和虚函数的用法和作用?
答 :置于“~”是析构函数;析构函数因使用"~"符号(逻辑非运算符),表示它为
腻构造函数,加上类名称来定义。
;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,
也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。
有适放内存空间的做用!
虚函数是 C++多态的一种表现
例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则
必须把父类的该函数(方法)设为 virturl(虚函数)。
使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。
如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的
话,可以把此函数(方法)设为 virturl函数名 =0
我们把这样的函数(方法)称为纯虚函数。
如果一个类包含了纯虚函数,称此类为抽象类
Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么
知道的?答:主要的区别是变量的作用范围不同。全局变量在全局范围内都有效,而局部
变量只在声明此变量的作用域内有效。
全局变量是属于实例的,在初始化对象的时候初始化,生命周期与该实例相同,
之所以叫全局变量是因为该实例中的所有方法或属性都可以引用;局部变量是在
实例方法内或 static块中,生命周期从调用该方法到该方法退出,并且只有该
方法能够引用之。
全局变量和局部变量的区别是在存储器中位置不同,具体说,全局变量存储在数
据段中,局部变量都有可能,一般来说在堆栈段
Q7:一些寄存器的题目,主要是寻址和内存管理