我有一個關於靜態和非靜態函數和變量的問題。非靜態與靜態函數和變量
1)非靜態函數訪問靜態變量。
沒關係!
class Bar
{
public:
static int i;
void nonStaticFunction() {
Bar::i = 10;
}
};
int Bar::i=0;
2)非靜態函數訪問非靜態變量
絕對OK!
3)靜態函數訪問靜態變量&功能可按
絕對OK!
4)靜態函數訪問非靜態函數
這是確定的
class Bar
{
public:
static void staticFunction(const Bar & bar)
{
bar.memberFunction();
}
void memberFunction() const
{
}
}
5)靜態函數訪問非靜態變量
這是確定的還是不正常?我對此感到困惑!
怎麼樣這個例子
class Bar
{
public:
static void staticFunction(Bar & bar)
{
bar.memberFunction();
}
void memberFunction()
{
i = 0;
}
int i;
};