早教吧 育儿知识 作业答案 考试题库 百科 知识分享

c++为什么提示我表达式必须包含类类型题目是这样:题目描述定义一个Box(盒子)类,在该类定义中包括数据成员:length(长)、width(宽)和height(高);成员函数:构造函数Box,设置盒子

题目详情
c++ 为什么提示我表达式必须包含类类型
题目是这样:
题目描述
定义一个Box(盒子)类,在该类定义中包括
数据成员: length(长)、width(宽)和height(高);
成员函数: 构造函数Box,设置盒子长、宽和高三个初始数据;用函数volume 计算并输出盒子的体积.
在main函数中,要求创建Box对象,并求盒子的体积.
输入
输入为若干组数据,每一组数据用1行表示,为3个小于500的正整数,分别表示盒子的长、宽和高.
输出
输出为若干组数据,每一组数据用1行表示,为1个正整数,表示盒子的体积.
样例输入
1 2 3
2 3 4
样例输出
6
24
我的代码是:
#include
using namespace std;
class Box
{ public:
Box(int l,int w,int h);

void volume();
int l,w,h;
};
Box::Box(int l,int w,int h)
{ cin>>l>>w>>h;
cout
▼优质解答
答案和解析
你Box a的初始化不对,a成了函数定义,定义函数a,返回类型是Box,接受三个整形参数 l,w,h;
正常初始化是 Box a(1,3,4),不过看你的意思,你是要在构造函数里通过屏幕输入完成类构造,那么构造函数就不需要那三个参数了.
构造函数接受屏幕输入下的代码:
#include
using namespace std;

class Box
{  
public:
\x09Box();
\x09void volume();
\x09int l,w,h;
};

Box::Box()

\x09cin>>l>>w>>h;
\x09cout<}

void Box::volume()

\x09cout<}

int main()
{  
\x09Box a;
\x09a.volume();
\x09//Box::volume();
\x09system("PAUSE");
\x09return 0;
}
 不过一般来说构造函数要尽快完成,在构造函数里io会影响到类实例的创建,为错误处理增加麻烦.