❶ C++中,如何訪問類的靜態成員!
1.靜態成員函數中不能調用非靜態成員。
2.非靜態成員函數中可以調用靜態成員。因為靜態成員屬於類本身,在類的對象產生之前就已經存在了,所以在非靜態成員函數中是可以調用靜態成員的。
3.靜態成員變數使用前必須先初始化(如int MyClass::m_nNumber = 0;),否則會在linker時出錯。
4.在類的非靜態成員函數中使用類的靜態成員
class Point
{
public:
void init()
{
output();
}
static void output()
{
}
};
void main()
{
Pointpt;
pt.output();
}
5.使用類的靜態成員變數
#include <stdio.h>
class Point
{
public:
Point()
{
m_nPointCount++;
}
~Point()
{
m_nPointCount--;
}
static void output()
{
printf("%d\n", m_nPointCount);
}
private:
static int m_nPointCount;
};
int Point::m_nPointCount = 0;
void main()
{
Pointpt;
pt.output();
}
❷ java如何訪問類的成員變數和方法
如果變數和方法是靜態的就直接 類名.變數名 或 類名.方法名
非靜態的話,本類中訪問直接 this.變數名 或者 this.方法名 ,外部其它類如果要調用的話就需要先創造出該類然後再 .變數名 或 .方法名
❸ C++中,如何訪問類的靜態成員!
靜態成員不論是共有的還是私有的,只能通過靜態的成員函數才可以訪問,也就是說,普通的成員方法不可以訪問,如果想訪問靜態變數,只能通過靜態函數,這么說你就懂了吧就像下面。
如果你定義了一個:
static
int
n;
那麼就要相應的有一個static的函數,不論這個類的任何對象,都可以通過這個成員函數去訪問,需要注意的是,靜態成員變數是類本身的,不屬於某個對象,也就是說,是所有對象共享的數據。在一個對象里改變了它的值,別的對象里也會改變。從內存的角度講,靜態成員變數和靜態成員函數,所有對象都共享這塊內存,不是生成一個對象就分配一塊。