默认构造函数

来源:百度知道 编辑:UC知道 时间:2024/06/09 23:51:58
#include<iostream>
using namespace std;
class B;
class A
{
public:

void set()
{cout<<m<<endl;}
friend class B;
A(int q)
{m=q;}

private:
int m;
};
class B
{

public:
friend class A;
B(int w){ n=w;}
void set();
private:
A a;
int n;
};
void B::set()
{
cout<<n<<endl;
cout<<a.m<<endl;
}
void main()
{
int b;
cout<<"输入一个数:";
cin>>b;
cout<<endl;
A aa(b);
B bb(b);
aa.set();
bb.set();
};
e:\my program\类的有缘\类的有元.cpp(22): error C2512: “A” : 没有合适的默认构造函数可用

#include<iostream>
using namespace std;
class B;
class A
{
public:

void set()
{cout<<m<<endl;}
friend class B;
A(int q)
{m=q;}

private:
int m;
};
class B
{

public:
friend class A;
B(int w):a(w){ n=w;}//a必须明确初始化,因为没有默认构造方法
void set();
private:
A a;
int n;
};
void B::set()
{
cout<<n<<endl;
cout<<a.m<<endl;
}
void main()
{
int b;
cout<<"输入一个数:";
cin>>b;
cout<<endl;
A aa(b);
B bb(b);
aa.set();
bb.set();
};