【类及其成员--谈封装(encapsulation)】
对象 -- 东西
类 -- 对象的属性
把数据声明为private,不允许外界随意存取,只能通过特定的接口来操作,这就是面向对象的封装(encapsulation)特性。
【基类与派生类--谈继承(Inheritance)】
当我调用:
rect1.setcolor(2); //rect1是CRect对象
rect2.setcolor(2); //rect2是CRect对象
时,编译器实际上做出来的是:
CRect::setcolor(2, (CRect*)&rect1);
CRect::setcolor(3, (CRect*)&rect2);
多出来的参数就是this指针。
【虚函数与多态(Polymorphism)】
例子:
未完待续
对象 -- 东西
类 -- 对象的属性
把数据声明为private,不允许外界随意存取,只能通过特定的接口来操作,这就是面向对象的封装(encapsulation)特性。
【基类与派生类--谈继承(Inheritance)】
class CShape //形状
{
private:
int m_color;
public:
void setcolor(int color) { m_color = color; }
};
class CRect : public CShape
{
public: //矩形是一种形状
void display() { ... } //他会继承m_color和setcolor()
}
【this指针】
当我调用:
rect1.setcolor(2); //rect1是CRect对象
rect2.setcolor(2); //rect2是CRect对象
时,编译器实际上做出来的是:
CRect::setcolor(2, (CRect*)&rect1);
CRect::setcolor(3, (CRect*)&rect2);
多出来的参数就是this指针。
【虚函数与多态(Polymorphism)】
例子:
未完待续