0

私は次のことについて疑問に思っています:

static.h で:

class Base
{
    private: static const char* className;

    public:  static const char* getClass() { return className; };

};


class Sub : public Base
{
    private: const static char* className;
};

そして static.cpp で:

#include "static.h"
#include <iostream>

const char* Base::className = "Base";
const char* Sub ::className = "Sub";

int main() {    std::cout << Sub::getClass(); }

// outputs "Base"

そのような関数を継承して、オーバーライドされたデータ メンバーを使用することは可能ですか?

4

1 に答える 1