私はPathextendsstd::vector<Square *>というSquareクラスを持っています。これも私が作成したクラスです。はPath、エンティティが 2D 環境を横断するためのガイドとして機能します。達成可能な最長パスと最短パスを取得する必要があるため、Squaresaで 2 つの間の正方形の数を見つけようとしていPathます。これを行うには、をオーバーロードするのが有益だと思いstd::vector<Square *>::push_back(const  value_type &__x)ますが、その構文がどうなるかはわかりません。私は現在これを試しています:
class Path : public std::vector<Square *>
{   //... functional stuff, not relevant. 
    int length;
public:
    push_back(const value_type &__x)
    {   Square *last_square = this->at(this->size() - 1);
        // how do I call super class push_back?
        // however that works, I push back &__x square here.
        Square *most_recent = (Square *)&__x;
        int delta_x = compare_distance(last_square, most_recent);
        length += delta_x;
    };
    int path_length() { return length; };
};
もちろん、スーパークラスの push_back を呼び出すメソッドを書くこともできると思いますが、関数をオーバーライドする方が簡潔であると感じます。また、stl 関数を適切にオーバーライドする方法を学ぶことは良い習慣です。
ありがとう!