#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 有问题 但我不知道么样改 请帮我改正 谢了!
#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跟调用一样
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);定义。
把主函数中new Box去掉,没用,还有
#include "stdafx.h"也去了,也没用,试试
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息