澳门新萄京8522今日上学世襲,随手写了四个游乐的单位的小程序,暂定为魔兽3的footman

海啸DongFeng
发表于:2006-2-4 23:15:55
[编辑]
[精华]
[删除]
[回复]

class A
{
public:
  int b;
  float c;
  char d;
};

int main()

  1. int main(void
  2.     int a[4][4] = { 
  3.                   {1,2,3,4}, 
  4.                   {50,60,70,80}, 
  5.                   {900,1000,1100,1200}, 
  6.                   {13000,14000,15000,16000} }; 
  7.     int (*p1)[4] = a; 
  8.     int (*p2)[4] = &a[0]; 
  9.     int *p3 = &a[0][0]; 
  10.     printf(“%d %d %d %d\n”,*(*(a+1)-1),*(*(p1+3)-2)+1,*(*(p2-1)+16)+2,*(p3+sizeof(p1)-3)); 
  11.      
  12.     return 0; 

到底还不会弄出c++的画面,所以,先写了多个饱受攻击的hp变化,现在再把这些扩张吧!今后水平还相当不足

sizeof(Derived)是12.

strcpy(name,c);

4、程序出错在怎么阶段?()

class Footman:public Unit
{
public:
 Footman(State of Qatar:Unit(420,0,3,12State of Qatar{}; //明确步兵的每一种数值
};
void main()
{
 Footman a;
 cout<<a.getLife()<<endl;
 a.beAtk(14卡塔尔(قطر‎;       //表示对方发动攻击,单位a碰着12点攻击力
 cout<<a.getLife()<<endl;
}

sizeof(Base)为8.

   s[i].gets();

  1. class Base 
  2. public
  3.     Base(int j) : i(j) {  }   
  4.     virtual ~Base() {  } 
  5.     void func1() 
  6.     { 
  7.         i *= 10; 
  8.         func2(); 
  9.     } 
  10.     int getValue() 
  11.     { 
  12.         return i; 
  13.     } 
  14. protected
  15.     virtual void func2() 
  16.     { 
  17.         i++; 
  18.     } 
  19. protected
  20.     int i; 
  21. }; 
  22.  
  23. class Child : public Base 
  24. public
  25.     Child(int j) : Base(j) {  } 
  26.     void func1() 
  27.     { 
  28.         i *= 100; 
  29.         func2(); 
  30.     } 
  31. protected
  32.     void func2() 
  33.     { 
  34.         i += 2; 
  35.     } 
  36. }; 
  37.  
  38. int main(void
  39.     Base *pb = new Child(1); 
  40.     pb->func1(); 
  41.     cout<<pb->getValue()<<endl; 
  42.     delete pb; 
  43.      
  44.     return 0; 

#include <iostream.h>
class Unit
{
 int iLife;              //定义每一种质量变量
 int iMana;
 int iDefence;
 int iAttack;
public:
 Unit(int Hp, int Mp, int Def, int Atk);
 int getLife(卡塔尔{return iLife;};      
//暂时作了那样二个成员函数,用来代表hp变化
 void beAtk(int enePhiAtkState of Qatar{iLife=iLife-enePhiAtk+iDefence;}; 
//遇到攻击时Hp的调换
};
Unit::Unit(int Hp, int Mp,int  Def,int Atk)
{
 iLife=Hp;
 iMana=Mp;
 iDefence=Def;
 iAttack=Atk;
}

 

char name[20];

C/C++类

#include   <iostream.h>   
    
  class   a   
  {   
  private:   
  int   x;   
  };   
    
    
    
  class   b:   virtual   public   a   
  {   
  private:   
  int   y;   
  };   
    
  class   c:   virtual   public   a   
  {   
  private:   
  int   z;   
  };   
    
  class   d:public   b,public   c   
  {   
  private:   
  int   m;   
  };   
  int   main(int   argc,   char*   argv[])   
  {   
  cout<<sizeof(a)<<endl;   
  cout<<sizeof(b)<<endl;   
  cout<<sizeof(c)<<endl;   
  cout<<sizeof(d)<<endl;   
  return   0;   
  }   
    在VC6.0下调节和测量检验结果为   
  4   
  12   
  12   
  24

{

  1. int main(void
  2.     char num; 
  3.     for(num = 0; num < 255; ) 
  4.         num += num; 
  5.     printf(“%d\n”,num); 
  6.     return 0; 

 

id = i;

A、16000 1101 
13002 2
B、4  2  3  60
C、16000  2  3  2
D、4  1101  13002  60
p1为指向生龙活虎维数组的指针,所以a +
1指向{50,60,70,80}这黄金时代维的地址。减一则为4的地点;同理第一个出口1101。同理,由于数组的列是4,所以*(p2

sizeof(b)和sizeof(c)相同,都是4+4+4=12。

for(int i = 0 ; i < n ; i++)

  1. int main(void
  2.      
  3.     cout<<“welcome to sogou”<<endl; 
  4.      
  5.     return 0; 

class Base
{
      public:
             Base(){cout<<“Base-ctor”<<endl;}
             ~Base(){cout<<“Base-dtor”<<endl;}
             int a;
             virtual void f(int)
{cout<<“Base::f(int)”<<endl;}
             virtual void
f(double){cout<<“Base::f(double)”<<endl;}
};

}

  1. class A 
  2. public
  3.     int b; 
  4.     char c; 
  5.     virtual void print() 
  6.     { 
  7.         cout<<“this is father’s function!”<<endl; 
  8.     } 
  9. }; 
  10.  
  11. class B : A 
  12. public
  13.     virtual void print() 
  14.     { 
  15.         cout<<“this is children’s function!”<<endl; 
  16.     } 
  17. }; 
  18. int main(void
  19.     cout<<sizeof(A)<<” 
    “<<sizeof(A)<<endl; 
  20.      
  21.     return 0; 

 

cout<<“******************************************”<<endl;

  • 1卡塔尔(قطر‎ + 16就相当于*(p2卡塔尔国 + 12,所以第一个出口13002。
    第七个由于p1是指针,所以sizeof(p1State of Qatar为8(陆十三位的体系),所以第多个出口60。

6、对于虚世襲的子类,其sizeof的值是其父类成员,加上它本身的分子,以致它自身二个针对性父类的指针(大小为4),对齐后的sizeof。如:

public:

6、在31人操作系统gcc编写翻译器遭逢下,上边包车型地铁次第的运营结果是(A)

 

Student(int i = 0, char* c=””, int s= 0)

A、12 
12
B、8  8
C、9  9
D、12  16
7、以下哪些做法是不科学恐怕应当大力幸免的:【多选】(ACD)
A、结构函数证明为虚函数
B、派生关系中的基类析构函数申明为虚函数
C、布局函数调用虚函数
D、析构函数调用虚函数

class Derived:virtual public Base
{
public:
 Derived(){cout<<“Derived-ctor”<<endl;}
 virtual void g(int){cout<<“Derived::g(int)”<<endl;}
};

for(j = i + 1; j < n -1 ; j ++)

1、以下顺序的输出是(12)

5、对于子类和父类中都有虚函数的事态,子类的sizeof是它父类成员(不论成员是public或privateState of Qatar,再增加它和睦的成员,对齐后的sizeof,再加4(虚表指针)。如:

cout<<“name              id             score  :”<<endl;

A、编写翻译阶段出错   
B、运转阶段出错    C、编写翻译和平运动作都出错    D、程序运营符合规律
因为

class Base
{
public:
 Base(){cout<<“Base-ctor”<<endl;}
 ~Base(){cout<<“Base-dtor”<<endl;}
 virtual void f(int) {cout<<“Base::f(int)”<<endl;}
virtual void f(double){cout<<“Base::f(double)”<<endl;}
};

int id;

澳门新萄京8522 1

class Derived:public Base
{
  public:
         Derived(){cout<<“Derived-ctor”<<endl;}
         int b;
         virtual void
g(int){cout<<“Derived::g(int)”<<endl;}
};

int getArrayLen(T& array卡塔尔国//使用模板定义叁个函数getArrayLen,该函数将赶回数组array的长短

2、请问程序的出口结果是(30)
#define DOUBLE(x) x+x // x*2
int i = DOUBLE(5)*5;
cout<<i<<endl;
3、写出一下程序的输出(死循环)

class A1
{
public:
    A1(){}
    ~A1(){}
    void fun(){}
    char a[0];
};

{

5、下边程序推行结果为【表达:X86_64环境】(D)

sizeof(A3)是12.

output(class1,4卡塔尔国;//输出前四的新闻

sizeof(A1)也是1.(VC6.0下编译)

}

2、若类中包含成员,则类对象的抑扬顿挫只囊括内部非静态成员通过对齐所占的半空中,对齐情势和布局体形似。如:

sum+=a[i].score;

class A
{
public:
  static int a;
  int b;
  float c;
  char d;
};
sizeof(A)是12.

output(class1,10);

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图