类(Class)和结构体(Struct)的一些主要区别:
-
成员的默认访问权限:
- 类:成员默认为私有(private)。
- 结构体:成员默认为公有(public)。
-
继承:
- 类:支持继承,可以派生子类。
- 结构体:通常不支持继承。
-
构造函数和析构函数:
- 类:可以有构造函数和析构函数,用于对象的初始化和清理。
- 结构体:有时可以有构造函数,但通常没有析构函数。
-
内存分配:
- 类:通常在堆上分配内存。
- 结构体:通常在栈上分配内存。
-
使用场景:
- 类:通常用于表示具有行为的实体,如对象。
- 结构体:通常用于表示简单的数据结构,不带有复杂的行为。
-
默认继承:
- 类:默认继承的访问权限是 private。
- 结构体:默认继承的访问权限是 public。
下面是一个简单的示例,演示类和结构体的基本区别:
// 类的示例
class MyClass {
private:
int privateMember;
public:
void setPrivateMember(int value) {
privateMember = value;
}
};
// 结构体的示例
struct MyStruct {
int publicMember;
};