本篇文章适用于有一定C语言基础,但是对C++零基础的同学看,讲解了C++里的一些概念
C在定义一个结构体的时候,就是定义一个新的数据类型
而C++在定义一个结构体,会有一个this指针,指向本结构体的地址,传的this指针的值一般给到了ecx。主要应用如下
typedef struct
{
int x = 1;
int y = 2;
void function(int x, int y)
{
this->x = x;
this->y = y;
}
}str;
int main()
{
str p;
p.function(3,4);
}
这样可以修改结构体里的变量值
在C++中,如果有一些struct的东西是重复的,那我们就懒得再写,直接copy过来,c++提供一个很方便的东西继承
struct person
{
int age;
int sex;
};
struct A
{
int age;
int sex;
char name;
}
struct A:person
{
char name;
}
两种方式都差不多,person就是A的爹,称为父类,父类指针可以用来访问子类里父类的东西。
再说一点,如果子类和父类有定义相同的变量,那么需要在子类变量前加入一个类名加两个冒号才行
构造函数就是声明类后可以直接启动的函数,可以重载,可以有参数,无返回值
class test
{
public:
test(int x,int y)
{
printf(