我想知道是否有任何問題,當派生一個類有一個STL容器,但模板參數是不同的。換句話說:不同的模板參數的繼承
基類:
class GridCell {
//....
std::vector<Coord> getNeighbours(const int * coord);
//....
}
派生類:與getNeighbours功能
class GridCell2D {
//....
std::vector<Coord2D> getNeighbours(const int * coord);
//....
}
class GridCell3D {
//....
std::vector<Coord3D> getNeighbours(const int * coord);
//....
}
意志多態性正常工作?謝謝!
不會。這隻會導致編譯錯誤(假設您使原來的'虛擬'並使事情相互繼承)。 http://ideone.com/pmddOe。 –
這三個類是不相關的類型。這裏沒有多態性。是否打算從'GridCell'派生'GridCell2D'和'GridCell3D'? –
只要返回類型是協變的。 –