📜  C++ |静态关键字|问题2

📅  最后修改于: 2021-05-25 22:44:09             🧑  作者: Mango

#include 
using namespace std;
  
class Player
{
private:
    int id;
    static int next_id;
public:
    int getID() { return id; }
    Player()  {  id = next_id++; }
};
int Player::next_id = 1;
  
int main()
{
  Player p1;
  Player p2;
  Player p3;
  cout << p1.getID() << " ";
  cout << p2.getID() << " ";
  cout << p3.getID();
  return 0;
}

(A)编译器错误
(B) 1 2 3
(C) 1 1 1
(D) 3 3 3
(E) 0 0 0答案: (B)
说明:如果将成员变量声明为静态,则该类的所有对象都可以访问该变量的单个实例。静态变量有时称为类变量,类字段或类范围的字段,因为它们不属于特定对象。他们属于阶级。

在上面的代码中,静态变量next_id用于为所有对象分配唯一的ID。

这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。