基类和派生类:谈继承
class CShape
{
private:
int m_color;
public:
void setcolor(int color){ m_color = color;}
}
class CRect:public CShape
{
void display(){...}
}
CRect rect1, rect2;
rect1.setcolor(1);
rect1.display();
rect2.setcolor(2);
rect2.display();
1.所有类都由CShape派生下来,所以它们都自然而然继承了CShape的成员,包括变量和函数,也就是说,所有的形状都“暗自”具备了m_color变量和setcolor函数。
2.所有矩形对象rect1和rect2各自有自己的m_color,但关于setcolor函数却都是共享相同的CRect::setcolor(),其实更应该说是CShape::setcolor。使用this指针
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步