讲解一下函数 class与struct
时间: 2023-12-08 12:06:03 浏览: 33
在C++中,class和struct都可以用来定义一个自定义的数据类型,它们的本质是相同的,唯一的区别在于默认的访问控制权限。
使用class定义一个类时,默认的成员访问控制权限是private,而使用struct定义一个类时,默认的成员访问控制权限是public。
例如,下面的代码定义了一个class和一个struct,它们的成员变量和成员函数都是相同的:
```c++
class MyClass {
private:
int x;
public:
void setX(int value) {
x = value;
}
int getX() {
return x;
}
};
struct MyStruct {
public:
int x;
void setX(int value) {
x = value;
}
int getX() {
return x;
}
};
```
使用这两个类的方式也是相同的,例如:
```c++
MyClass myObject1;
MyStruct myObject2;
myObject1.setX(10);
myObject2.setX(20);
std::cout << myObject1.getX() << std::endl; // 输出10
std::cout << myObject2.getX() << std::endl; // 输出20
```
因此,使用class和struct定义类的唯一区别在于默认的成员访问控制权限。在实际使用中,我们可以根据需要选择使用哪种方式定义类。