今天看了一本书,把自己对于继承的理解写下来
继承是指在已知类的基础上创建一个新类。
多态和虚函数是继承中的重点,多态可以实现通过访问基类对象引用或者指针来访问派生类对象,使用虚函数,我们可以通过基类函数访问到派生类对象的函数。
通过上面两点,我们就可以做到:
class
A
...
{
virtual void fun();
} ;
class B: public A ... {
void fun();
} ;
A * a = new B();
a -> fun(); // 这里访问的就是B的fun()
virtual void fun();
} ;
class B: public A ... {
void fun();
} ;
A * a = new B();
a -> fun(); // 这里访问的就是B的fun()
虚函数要构造虚函数表,对象有一个虚函数指针,指向类的虚函数表,然后确定函数入口地址,访问函数。