问个问题,这两个代码怎么回事,运行老是报错

1.
#include
using namespace std;
class B
{
public:
B(){}
B(int i,int j)
{
x=i;
y=j;
}
void printb()
{
cout<<x<<" "<<endl;
}
private:
int x,y;
}
class A
{
public:
A(){}
A(int I,int J);
void printa();
rpivate:
B c;
}
A::A(int i,int j):c(i,j)
{}
void printa()
{
c.printb();
}
int main()
{
A a(10,20);
a.printa();
return 0;
}

  1. #include
    using namespace std;
    class B
    {
    public:
     B(){}
     B(int i,int j)
     {
         x=i;
         y=j;
     }
     void printb()
     {
         cout<<x<<" "<<endl;
     }
     private:
         int x,y;
    
    }
    class A
    {
    public:
     A(){}
     A(int I,int J);
     void printa();
     rpivate:
         B c;
    
    }
    A::A(int i,int j):c(i,j)
    {}
    void printa()
    {
    c.printb();
    }
    int main()
    {
    A a(10,20);
    a.printa();
    return 0;
    }

类的创建末尾未加分号,类的成员函数在类外实现是未表明作用域,private关键字拼写错误


#include<iostream>
using namespace std;
class B
{
public:
    B() {}
    B(int i,int j)
    {
        x=i;
        y=j;
    }
    void printb()
    {
        cout<<x<<" "<<endl;
    }
private:
    int x,y;
};
class A
{
public:
    A() {}
    A(int I,int J);
    void printa();
private:
    B c;
};
A::A(int i,int j):c(i,j)
{}
void A::printa()
{
    c.printb();
}
int main()
{
    A a(10,20);
    a.printa();
    return 0;
}

#include<iostream>
using namespace std;
class B
{
public:
    B() {}
    B(int i,int j)
    {
        x=i;
        y=j;
    }
    void printb()
    {
        cout<<x<<" "<<endl;
    }
private:
    int x,y;
};
class A
{
public:
    A() {}
    A(int I,int J);
    void printa();
private:
    B c;
};
A::A(int i,int j):c(i,j)
{}
void A::printa()
{
    c.printb();
}
int main()
{
    A a(10,20);
    a.printa();
    return 0;
}