|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# 结构体参数
组作为参数时,把自己的指针传给函数使用
结构体本身作为参数时,是把自身复制一份传给函数使用
​ 但是可以使用结构体指针(struct *)作为参数
类和对象
struct Base{
int x;
int y;
};
struct Base2{
int x;
int y;
int Max(Base* pb)
{
if(pb->x>pb->y)
return x;
else
{
return y;
}
}
};
sizeof(Base)=sizeof(Base2)==8//函数放在结构体里面不改变结构体大小,函数成为类的一个属性,但函数本身并不存储在结构体内
struct Base3{
int x;
int y;
int Max()
{
if(x>y)
return x;
else
{
return y;
}
}
};//Base2==Base3,结构体里面的函数会自动把该结构体的首地址传给函数 且是用ecx存放该结构体的地址
封装的第二种方式:类内写声明,函数写在外面
struct Base2{
int x;
int y;
int Max(Base* );
};
int Base2::Max(Base* pb)
{
if(pb->x>pb->y)
return x;
else
{
return y;
}
}
this指针(不可以重新赋值)
struct Base{
int x;
int y;
void init(int x;int y)
{
this->x=x;
this->y=y;
}
};//this指针指向该结构体本身 防止函数参数和成员变量重名 |
|