(浮云且为浅水谭)
MFC为C++中一个类库,掌握MFC要熟悉C++。
C++面向对象的语言,对象就要封装,封装便要继承
问题:
不将Display提升到基础类别不能以一个for或者while循环实现下列动作(该动作模式在对象导向程序方法中无比重要)
CShape shapes[5] ...//5个Shapes为5个形状 for(int i=0;i<5;i++) { shapes[i].display; }
[对象导向]的观念是描绘现实世界,采用生活中的经验逻辑进行程序设计
多态对应静态,前者编译后地址未知,后者编译后变为固定地址
虚函数对应概念,概念无形,不能说动物有某种具体的叫声,只能说动物会叫(特殊不算),具现后才有某种具体叫声,比如鸭子的嘎嘎等,而对动物这一概念赋予会叫的行为采用虚函数定义。其实是一种接口
所以堆与栈的区别很明显:
1.栈内存存储的是局部变量而堆内存存储的是实体;
2.栈内存的更新速度要快于堆内存,因为局部变量的生命周期很短;
3.栈内存存放的变量生命周期一旦结束就会被释放,而堆内存存放的实体会被垃圾回收机制不定时的回收(如果有)。