C++ 静态类成员的初始化
如果我尝试初始化对象,它会要求我将其设置为常量,而我不能这样做,因为我必须对创建的对象计数C++ 静态类成员的初始化,c++,visual-c++,c++11,C++,Visual C++,C++11,如果我尝试初始化对象,它会要求我将其设置为常量,而我不能这样做,因为我必须对创建的对象计数 #include<iostream> class A { static int obj_s=0; public: A(){ ++obj_s;cout << A::obj_s << "\nObject(s) Created\n"; } }; int main() { A a,b,c,d; } [已解决] 代码给出错误是因为
#include<iostream>
class A
{
static int obj_s=0;
public:
A(){ ++obj_s;cout << A::obj_s << "\nObject(s) Created\n"; }
};
int main()
{
A a,b,c,d;
}
[已解决]
代码给出错误是因为在第二种情况下对象没有被创建,而在第一种情况下,它没有按照预期的方式初始化-
以下是固定代码:
#include<iostream>
class A
{
static int obj_s;
public:
A()
{ obj_s++; std::cout << A::obj_s << "\nObject(s) Created\n" ; }
};
int A::obj_s=0; // This is how you intialize it
int main()
{
A a ,b,c,d;
}
#包括
甲级
{
静态内部对象;
公众:
()
{obj_s++;std::cout[已解决]
代码给出错误是因为在第二种情况下对象没有被创建,而在第一种情况下,它没有按照预期的方式初始化-
以下是固定代码:
#include<iostream>
class A
{
static int obj_s;
public:
A()
{ obj_s++; std::cout << A::obj_s << "\nObject(s) Created\n" ; }
};
int A::obj_s=0; // This is how you intialize it
int main()
{
A a ,b,c,d;
}
#包括
甲级
{
静态内部对象;
公众:
()
{obj_s++;std::cout