永发信息网

C++ 问题

答案:3  悬赏:60  手机版
解决时间 2021-04-21 05:11
  • 提问者网友:戎马万世
  • 2021-04-20 23:50

#include "stdafx.h"

#include<iostream>
using namespace std;
class Box
{
public:
Box(int h,int w,int len):height(h),width(w),length(len){}
int volume();
int height;
int width;
int length;
};
int Box::volume()
{
return (height*width*length);
}
int main()
{
new Box;
Box *pt;
pt=new Box(12,14,18);
cout<<pt->height ;
cout<<pt->volume();
delete pt;
return 0;
}

就是Box 有问题 但我不知道么样改 请帮我改正 谢了!

最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-04-21 00:29

#include<iostream>
using namespace std;
class Box
{
public:
Box(int h,int w,int len):height(h),width(w),length(len){}
int volume();
int height;
int width;
int length;
};
int Box::volume()
{
return (height*width*length);
}
int main()
{
Box *pt;
pt=new Box(12,14,18);
cout<<pt->height ;
cout<<pt->volume();
delete pt;
return 0;
}




box 不用new跟调用一样

全部回答
  • 1楼网友:空山清雨
  • 2021-04-21 02:37

123024 输出结果是对的,height为12 体积为3024

new Box; Box *pt; pt=new Box(12,14,18);

这几句有问题,new Box;这个需要Box()不带参数的为构造函数,你没写,所以就错了。而pt=new Box(12,14,18);是用的是你写的Box(int h,int w,int len):height(h),width(w),length(len){}构造函数,所以可以。

你也可以用 Box m_box(12,14,18);定义。

  • 2楼网友:冷風如刀
  • 2021-04-21 01:35

把主函数中new Box去掉,没用,还有

#include "stdafx.h"也去了,也没用,试试

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯