我有一個基類,我聲明瞭幾個多態的子類。一些基類的函數是純虛擬的,而其他的則由子類直接使用。在基類中混合虛擬和非虛擬函數是不好的編程習慣嗎?
(這是所有C++)
因此,例如:
class Base
{
protected:
float my_float;
public:
virtual void Function() = 0;
void SetFloat(float value){ my_float = value}
}
class subclass : public Base
{
void Function(){ std::cout<<"Hello, world!"<<std::endl; }
}
class subclass2 : public Base
{
void Function(){ std::cout<<"Hello, mars!"<<std::endl; }
}
因此,大家可以看到,子類將依賴於在基類函數設置「my_float」,但對於其他函數將是多態的。
所以我想知道這是否是好的做法。如果你有一個抽象基類,你應該完全抽象還是可以做這種混合方法?
這聽起來很正常。我每天都用它們。 –
你可以做到這一點。沒有什麼不好的編程,我可以在這裏感覺。這就是爲什麼純粹的虛擬功能。 – Abhineet