求大家教我一个C++简单问题

class Sample[
private:
int x;
static int y;
public:
Sample(int a);
void print);
];
Sample:Sample(int a)(
x=a;
y=x++;
]
void Sample:print()X
cout<<"x="<<x<<",y="<<y<<endl;
)
int Sample:y=25;
void main()X
Sample s1(5);
Sample s2(10);
s1.print();
s2.print();
]
大佬帮忙看一下为什么结果是x=6,y=10;x=11,y=10;

Sample s1(5)调用构造函数,x=a使x=5,y=x++使得 y=5,x=6,先执行y=x,在执行x=x+1
Sample s2(10),调用构造函数,x=a使x=10,y=x++使得y=10,x=11,理由同上。因为y为静态变量,所以两个实例的y变量是共享的,所以s1.print输出x=6,y=10,s2.print输出x=11,y=10

因为++在后是先赋值,再加一,y 的值是x 加一之前的。