#include<iostream>
#include<conio.h>
using namespace std;
class one
{
int r;
public:
one(int a) : r(a) {}
void set(int a) { r = a; }
int area() { return r*r*3.14; }
};
class two
{
one x;
int hi;
public:
two(int r, int h)
{
hi=h;
x.set(r);
}
int v() { return x.area()*hi; }
};
int main()
{
_getch();
return 0;
}
错误是:没有合适的默认构造函数可用。 你介意帮助我,以便我可以摆脱这个错误。 // ................................................ .............................
答案 0 :(得分:0)
当你在x
中声明two
时,C ++基本上尝试使用没有任何参数的构造函数(默认构造函数)创建一个实例,因为&#34; null对象&#34;在C ++中不存在。
一个不提供默认构造函数,但它提供构造函数one(int a)
,因此使用one x;
或one x(0);
one x = one(0);