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"
是否有可能繼承這樣的功能,並將它用一個被覆蓋的數據成員?
成員變量在C++中的多態... –
@OliCharlesworth所以永遠不要:) – aaronman
爲什麼你會需要這個?你可以訪問'Base :: className'和'Sub :: className'就好了! –