应该在构造函数中执行可能需要一些时间的操作,还是应该构造对象然后稍后进行初始化.
例如,当构造表示目录结构的对象时,应该在构造函数中完成对象及其子对象的填充.显然,目录可以包含目录,而目录又可以包含目录等.
这个优雅的解决方案是什么?
当比较两个对象(相同类型)时,有一个比较函数,它采用同一个类的另一个实例是有意义的.如果我将它实现为基类中的虚函数,那么函数的签名也必须引用派生类中的基类.解决这个问题的优雅方法是什么?比较不应该是虚拟的吗?
class A
{
A();
~A();
virtual int Compare(A Other);
}
class B: A
{
B();
~B();
int Compare(A Other);
}
class C: A
{
C();
~C();
int Compare(A Other);
}
Run Code Online (Sandbox Code Playgroud)