#include <iostream>
using namespace std;
class MyStaticClass{
public:
static int value;
MyStaticClass(){
value++;
}
~MyStaticClass(){}
};
int MyStaticClass::value;
void main(){
MyStaticClass::value = 0;
for (int i = 0; i<9; i++)
MyStaticClass *c = new MyStaticClass();
cout << MyStaticClass::value;
system("pause");
}
Mọi người ơi giải thích giúp em tại sao kết quả lại cho ra 9 vậy ạ. Và khi thay MyStaticClass *c = new MyStaticClass(); thành MyStaticClass c(); thì kết quả lại bằng 0 ạ. Cho em hỏi thêm dòng code int MyStaticClass::value; có ý nghĩa gì vậy ạ, khi xóa nó thì chương trình báo lỗi. Cảm ơn mọi người.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?