![]() |
#2
水哥2012-11-13 13:07
004011D0 push ebp
004011D1 mov ebp,esp 004011D3 sub esp,58h 004011D6 push ebx 004011D7 push esi 004011D8 push edi 004011D9 lea edi,[ebp-58h] 004011DC mov ecx,16h 004011E1 mov eax,0CCCCCCCCh 004011E6 rep stos dword ptr [edi] 34: cout<<"请输入边长:"; 004011E8 push offset string "\xc7\xeb\xca\xe4\xc8\xeb\xb1\xdf\xb3\xa4\xa3\xba" (0042a038) 004011ED mov ecx,offset cout (004300b0) 004011F2 call ostream::operator<< (00401750) 35: cin>>m>>k>>w; 004011F7 lea eax,[ebp-0Ch] 004011FA push eax 004011FB lea ecx,[ebp-8] 004011FE push ecx 004011FF lea edx,[ebp-4] 00401202 push edx 00401203 mov ecx,offset cin (004300f0) 00401208 call istream::operator>> (004022d0) 0040120D mov ecx,eax 0040120F call istream::operator>> (004022d0) 00401214 mov ecx,eax 00401216 call istream::operator>> (004022d0) 36: box ob; 37: ob.init(m,k,w); 0040121B mov eax,dword ptr [ebp-0Ch] 0040121E push eax 0040121F mov ecx,dword ptr [ebp-8] 00401222 push ecx 00401223 mov edx,dword ptr [ebp-4] 00401226 push edx 00401227 lea ecx,[ebp-18h] 0040122A call @ILT+5(box::init) (0040100a) 38: ob.ss(); 0040122F lea ecx,[ebp-18h] 00401232 call @ILT+35(box::ss) (00401028) 39: ob.vv(); 00401237 lea ecx,[ebp-18h] 0040123A call @ILT+15(box::vv) (00401014) 40: ob.print(); 0040123F lea ecx,[ebp-18h] 00401242 call @ILT+25(box::print) (0040101e) 41: } 00401247 pop edi 00401248 pop esi 00401249 pop ebx 0040124A add esp,58h 0040124D cmp ebp,esp 0040124F call __chkesp (00404a50) 00401254 mov esp,ebp 00401256 pop ebp 00401257 ret [ 本帖最后由 水哥 于 2012-11-13 13:09 编辑 ] |
#include <iostream.h>
class box
{
private:
int a;int b; int h; //a表示边长
public:
int ss(); //计算面积
int vv(); //体积
void print(); //输出
void init(int t1, int t2,int t3) //传参数
{a=t1;b=t2;h=t3;};
};
int box::ss()
{
int s;
s=(a*b+a*h+b*h)*2;
return s;
};
int box::vv()
{
int v;
v=a*b*h;
return v;
};
void box::print()
{
cout<<"面积为:"<<ss()<<endl;
cout<<"的体积为:"<<vv()<<endl;
};
void main()
{ int m;int k;int w;
cout<<"请输入边长:";
cin>>m>>k>>w;
box ob;
ob.init(m,k,w);
ob.ss();
ob.vv();
ob.print();
}