我有这个结构:
class A
{
public:
virtual void func(int a)
{
cout << "System is initiated correctly." << a;
}
};
class B : public A
{
public:
virtual void func(int a) override
{
A::func(a);
cout << "This particular system is initiated correctly too" << a;
}
};
现在,在我从A派生出子类的95%情况下,我都会重写func
,并且在这些情况中,我应该在执行其他操作之前调用A::func();
。如何避免手动编写这些代码?有时候我甚至会忘记在子类中调用A::func();
,导致运行时错误、抛出异常等问题。