抽象类做函数参数 对象不可以,不过抽象类的指针和引用方式就可以,比如下面函数是合法的。void fun(CAbstract *p);void fun(CAbstract &a);非法的例子:void fun(CAbstract obj);指针和引用方式合法的原因,是因为指针和引用方式指向的对象可以是抽象类的派生类型的对象。而这些派生类可能不是抽象类。
形参实参结合的时候,就是用基类的指针和引用指向派生类对象只要是基类有的方法,都可以正常调用
时间: 2024-10-12 00:51:53
抽象类做函数参数 对象不可以,不过抽象类的指针和引用方式就可以,比如下面函数是合法的。void fun(CAbstract *p);void fun(CAbstract &a);非法的例子:void fun(CAbstract obj);指针和引用方式合法的原因,是因为指针和引用方式指向的对象可以是抽象类的派生类型的对象。而这些派生类可能不是抽象类。
形参实参结合的时候,就是用基类的指针和引用指向派生类对象只要是基类有的方法,都可以正常调用