°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë1
#include
using namespace std;
class Text
{
public:
Text()
{
cout<<"constructor of TEXT"<
}
};
Text a;
int main()
{
cout<<"main() start"<
Text b;
return 0;
}
´ð°¸¡¾
constructor of TEXT
main() start
constructor of TEXT
¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë2
#include
using namespace std;
int main()
{
int a=1;
int b=10;
int *p=&a;
int *&pa=p;
(*pa)++;
cout<<"a="<
cout<<"b="<
cout<<"*p="<<*p<
pa=&b;
(*pa)++;
cout<<"a="<
cout<<"b="<
cout<<"*p="<<*p<
return 0;
}
´ð°¸£º
¡¾
a=2
b=10
*p=2
a=2
b=11
*p=11
¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë3
#include
class A
{
public:
int i;
short j;
};
class B
{
public:
int i;
short j;
char ch;
};
class C
{
public:
int i;
int ii;
short j;
char ch;
char chr;
};
class D
{
int i;
int ii;
int iii;
short j;
char ch;
char chr;
};
int main()
{
cout<<"sizeof(A)"<
cout<<"sizeof(B)"<
cout<<"sizeof(C)"<
cout<<"sizeof(D)"<
return 0;
´ð°¸£º¡¾
sizeof(A)8
sizeof(B)8
sizeof(C)12
sizeof(D)16¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë4
#include
using namespace std;
class Base
{
private:
int a;
public:
Base(int x):a(x){}
void print()
{
cout<<"base"<
}
};
class Derived:public Base
{
private:
int b;
public:
Derived(int x):Base(x-1),b(x){}
void print()
{
cout<<"derived"<
}
};
class A
{
private:
int a;
public:
A(int x):a(x){}
virtual void print()
{
cout<<"A"<
}
};
class B:public A
{
private:
int b;
public:
B(int x):A(x-1),b(x){}
virtual void print()
{
cout<<"B"<
}
};
int main()
{
Base obj1(1);
cout<
Derived obj2(2);
cout<
A a(1);
cout<
B b(2);
cout<
return 0;
}
´ð°¸¡¾4 8 8 12
PS£ºÆÕͨº¯Êý²»Õ¼Äڴ棬ֻÓÐÐ麯Êý»áÕ¼ÓÐÒ»¸öÖ¸Õë´óСµÄÄڴ棬ÔÒòÊÇϵͳÓÃÒ»¸öÖ¸Õëά»¤Õâ¸öÀàµÄÐ麯Êý±í£»¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë5
#include
using namespace std;
class A{};
class B{};
class C:public A,public B
{
};
class D:virtual public A
{
};
class E:virtual public A,virtual public B
{
};
class F
{
public:
int a;
static int b;
};
int F::b=10;
int main()
{
cout<<"sizeof(A):"<
cout<<"sizeof(B):"<
cout<<"sizeof(C):"<
cout<<"sizeof(D):"<
cout<<"sizeof(E):"<
cout<<"sizeof(F):"<
return 0;
}
´ð°¸£º¡¾
sizeof(A)£º1
sizeof(B)£º1
sizeof(C)£º1
sizeof(D)£º4
sizeof(E)£º8
sizeof(F)£º4
PS£º¾²Ì¬³ÉÔ±µÄ¿Õ¼ä²»ÔÚÀàµÄʵÀýÖС£¶øÊÇÏñÈ«¾Ö±äÁ¿Ò»ÑùÔÚ¾²Ì¬´æ´¢ÇøÖУ¬±»À๲Ïí¡£
¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë6
#include
#define SQR(x)(x*x)
int main()
{
int a,b=3;
a=SQR(b+2);
printf(¡°a=%d¡±,a);
return 0;
}
´ð°¸¡¾11¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë7
int func(x)
{
int count x = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
¼Ù¶¨x = 9999 countx=£¿
´ð°¸£º¡¾8¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë8
typedef union {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
DATE max;
ÔòÓï¾ä printf(¡°%d¡±,sizeof(struct date)+sizeof(max));µÄÖ´Ðнá¹ûÊÇ£º___
´ð°¸£º¡¾52¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë9
#include
using namespace std;
class A
{
public:
A(){doSth();}
virtual void doSth(){cout<<"I am A"<
};
class B:public A
{
public:
virtual void doSth(){cout<<"I am B"<
};
int main()
{
B b;
return 0;
}
´ð°¸£º¡¾I am A¡¿
°ÙÎÊ°Ù´ð > 2.´úÂë·ÖÎöÌâ >
´úÂë10
·ÖÎöÒÔÏ´úÂë £¬Ö¸³ö´íÎó
#include
using namespace std;
int main()
{
int a=1;
int b=2;
int &c;
int &b=a;
&d=b;
int* p;
*p =5;
return 0;
}
´ð°¸£º
´íÎó¢Ù£º int &c£»
ÉùÃ÷Ò»¸öÒýÓÃÀàÐ͵ıäÁ¿C£¬µ«ÊÇûÓгõʼ»¯¡£ÒýÓÃÀàÐ͵ıäÁ¿ÔÚÉùÃ÷ʱͬʱ±ØÐë³õʼ»¯£»
¢Ú£º &d=b£»ÒýÓÃÖ»ÄÜÔÚÉùÃ÷µÄʱºò±»¸³Öµ£¬ÒԺ󶼲»ÄÜÔڰѸÃÒýÓÃ×÷ΪÆäËû±äÁ¿µÄ±ðÃû
¢Û£º*p=5£»pûÓб»³õʼ»¯£¬pÊǸöÒ°Ö¸Õ룬¶ÔÒ°Ö¸Õ븳ֵ·Ç³£Î£ÏÕ£¬»áµ¼Ö³ÌÐòÔËÐÐʱ±ÀÀ££»