arrows 发表于 2023-2-13 20:49:41

C++基本知识

# 结构体参数

组作为参数时,把自己的指针传给函数使用

结构体本身作为参数时,是把自身复制一份传给函数使用

​                                          但是可以使用结构体指针(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指针指向该结构体本身 防止函数参数和成员变量重名

myd0313 发表于 2023-2-13 21:07:09

向大佬学习
页: [1]
查看完整版本: C++基本知识