📄 15-2.txt
字号:
/* 范例:15-2 */
#include <iostream.h>
struct data
{
float height; float weight;
};
class animal
{
public:
data *hei;
data *wei;
animal(void)
{
hei = new data; wei = new data; // 配置内存
cout << "animal(void) class Constructor \n";
}
~animal(void)
{
delete hei; delete wei; // 为C++删除内存的指令
cout << "animal class Destructor \n";
}
void ShowHandLen(void)
{
cout << "Tiger's height = " << hei->height << "cm" \
<< "\t\tTiger's weight = " << wei->weight << "kg\n";
}
};
void classTest(void)
{
animal tiger; // 构建方式1,构建一个tiger对象
cout << "size =" << sizeof(tiger) << endl;
/* 定义一个对象指针tiger1, 将tiger的地址值设定给对象指针tiger1,tiger1将根据
tiger的地址操作其成员并改变其内容。 */
animal *tiger1; tiger1 = &tiger;
tiger.hei->height = 50; // tiger对象,设定高度初值为50
tiger.wei->weight = 70; // tiger对象,设定重量初值为70
cout <<"tiger 地址="<<&tiger<<"\t\ttiger1 地址=" \
<<&tiger1<<"\n";
cout <<"tiger height add = "<< &tiger.hei->height \
<<"\ttiger weight add= "<<&tiger.wei->weight<<endl;
cout <<"tiger *hei 地址="<<&tiger.hei<<"\ttiger *wei地址=" \
<<&tiger.wei<<endl;
cout <<"height = "<<tiger.hei->height << "\tweight = " \
<<tiger.wei->weight<<"\n\n";
// tiger1按地址操作tiger的内容,将改变高度为200
tiger1->hei->height = 200;
// tiger1按地址操作tiger的内容,将改变重量为80
tiger1->wei->weight = 80;
cout <<"tiger1 height add = "<< &tiger1->hei->height \
<<"\ttiger1 weight add= "<<&tiger1->wei->weight<<endl;
cout <<"tiger1 *hei 地址="<<&tiger1->hei<<"\ttiger1 *wei=" \
<<&tiger1->wei<<endl;
tiger1->ShowHandLen();
}
//---------------------------------------------------------------------------
void main(void)
{
classTest();
getchar();
}
程序执行结果:
animal(void) class Constructor
size =8
tiger 地址=0065FDF4 tiger1 地址=0065FDCC
tiger height add = 00682F48 tiger weight add= 00682F5C
tiger *hei 地址=0065FDF4 tiger *wei地址=0065FDF8
height = 50 weight = 70
tiger1 height add = 00682F48 tiger1 weight add= 00682F5C
tiger1 *hei 地址=0065FDF4 tiger1 *wei=0065FDF8
Tiger's height = 200cm Tiger's weight = 80kg
animal class Destructor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -