Account a[3]; //建立一个对象a,[3]表示调用3次;这样理解对么?

#include
using namespace std;
class Account{
public:
Account(char *Name,char *Psw);
Account(){ number++; }
~Account(){ number--; }

int getNumber(){return number;}
private:
char name[10];
char psw[6];
static int number;

};

Account::Account(char *Name,char *Psw){

strcpy(name,Name);
strcpy(psw,Psw);
number++;
}
int Account::number;

void main(){

Account za("tom","123456");
cout<<za.getNumber()<<",";

Account a[3]; //建立一个对象a,[3]表示调用3次;这样理解对么?这个知识点成为什么?啥时候用?谢谢前辈们!!!
cout<<za.getNumber()<<",";

{
Account x,y;
cout<<za.getNumber()<<",";

}
cout<<za.getNumber()<<endl;

}

Account a[3];中有3个Account类型的对象.
所以一共会调用3次构造函数来分别构造这3个对象
后面的那句cout<<za.getNumber()<<",";应该会打印出4

不对,这表示定义了一个对象数组,有3个元素。

int x[3];
类似

一楼的前辈,每个元素都会调用构造函数是么? 主函数中{}是啥意思?