私は次のことについて疑問に思っています:
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"
そのような関数を継承して、オーバーライドされたデータ メンバーを使用することは可能ですか?