?? 14-6.txt
字號:
/* 范例:14-6 */
#include <iostream.h>
class nostatic_myclass // 非靜態(tài)數(shù)據(jù)成員的class
{
public:
int a;
int b;
};
class static_myclass // 有靜態(tài)數(shù)據(jù)成員的 class
{
public:
static int a;
int b;
};
int static_myclass::a; // 沒有給定初值時,則a=0
// 可直接賦值如"int static_myclass::a = 5; "
void main()
{
nostatic_myclass obj1,obj2;
obj1.a=1;
obj2.a=3;
obj1.b=2;
obj2.b=4;
printf("obj1.a的值是%d ,obj1.a的地址是%d\n",obj1.a,(void *) &obj1.a);
printf("obj1.b的值是%d ,obj1.b的地址是%d\n",obj1.b,(void *) &obj1.b);
printf("obj2.a的值是%d ,obj2.a的地址是%d\n",obj2.a,(void *) &obj2.a);
printf("obj2.b的值是%d ,obj2.b的地址是%d\n",obj2.b,(void *) &obj2.b);
static_myclass obj3,obj4;
obj3.a=1;
obj4.a=3;
obj3.b=2;
obj4.b=4; /* static int a是獨立的實例,可讓每個對象共同使用 */
printf("obj3.a的值是%d ,obj3.a的地址是%d\n",obj3.a,(void *) &obj3.a);
printf("obj3.b的值是%d ,obj3.b的地址是%d\n",obj3.b,(void *) &obj3.b);
printf("obj4.a的值是%d ,obj4.a的地址是%d\n",obj4.a,(void *) &obj4.a);
printf("obj4.b的值是%d ,obj4.b的地址是%d\n",obj4.b,(void *) &obj4.b);
getchar();
}
程序執(zhí)行結(jié)果:
obj1.a的值是1 ,obj1.a的地址是6618620
obj1.b的值是2 ,obj1.b的地址是6618624
obj2.a的值是3 ,obj2.a的地址是6618612
obj2.b的值是4 ,obj2.b的地址是6618616
obj3.a的值是3 ,obj3.a的地址是4249344
obj3.b的值是2 ,obj3.b的地址是6618608
obj4.a的值是3 ,obj4.a的地址是4249344
obj4.b的值是4 ,obj4.b的地址是6618604
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -