(1) C++의 경우,
#include <iostream>
using namespace std;
class ShareVar
{
static int num1;
public:
static int num2;
void setnum(int i) { num1 = i; }
void shownum() { cout << num1 << " " << num2 << endl; }
};
int ShareVar::num1; // define num1
int ShareVar::num2;
int main()
{
ShareVar a, b;
a.shownum();
b.shownum();
a.setnum(10);
a.shownum();
ShareVar::num2 = 10;
b.shownum();
return 0;
}
C++의 경우 cpp 파일에서 class_name::static_member_name;
과 같이 해당 정적 멤버의 저장 공간을 따로 선언해 줘야 한다는걸 기억해야 한다.
(2) Java의 경우,
class Car {
String Name;
static int CarNum = 0;
Car(String aName) {
Name = aName;
CarNum++;
}
}
class JavaExam {
pubic static void main(String args[]) {
Car Pride = new Car("프라이드");
Car Matis = new Car("마티즈");
Car Carnical = new Car("카니발");
System.out.println("차 " + Car.CarNum + "대 구입함");
}
}
Java의 경우, 특별히 조심해야할 사항은 없어 보인다