struct和class的区别
时间: 2024-05-11 17:19:32 浏览: 109
C++中struct和class的区别
5星 · 资源好评率100%
在C++中,struct和class都可以用来定义一个类,两者的区别在于默认访问权限不同。
struct的成员默认为public,而class的成员默认为private。因此,当我们定义一个类时,如果希望成员默认为public,则可以使用struct,如果希望成员默认为private,则可以使用class。
例如,下面的代码演示了如何使用struct和class定义一个简单的类:
```cpp
// 使用struct定义一个类
struct Person {
std::string name;
int age;
};
// 使用class定义一个类
class Animal {
public:
std::string name;
int age;
};
```
在上面的代码中,Person的成员默认为public,而Animal的成员被显式地声明为public。因此,我们可以这样访问它们的成员:
```cpp
Person p;
p.name = "Tom";
p.age = 20;
Animal a;
a.name = "Fluffy";
a.age = 5;
```
需要注意的是,虽然struct和class的默认访问权限不同,但它们在其他方面是相同的。例如,它们都可以包含成员函数、构造函数、析构函数等等。
阅读全文