c++继承派生有关问题

输出结果为
25 6 16
但在类B中的i,j不应该是5,6吗
然后b=j++;cout<<b<<'\t';结果为什么不是7而是6


#include<iostream>
using namespace std;
class A
{   int a;
public:
    A(int i){a=i;cout<<a*a<<'\t';}
};
class B: public A
{   int b;
public:
    B(int i, int j):A(i){b=j++;cout<<b<<'\t';}
};
class C: public B
{   int c;
public:
    C(int i, int j, int k):B(j,k){c=i*i,cout<<c<<'\n';}
};
int main()
{   C c1(4,5,6);
    return 0;
}

b=j++;

等价于

b = j;
j = j + 1;