当前位置:首页 C++ > 正文

c++类和结构体区别

作者:野牛程序员:2023-08-10 16:23:19 C++阅读 2706

C++中的类和结构体在语法上非常相似,但在默认访问权限和一些继承方面存在一些区别。下面是C++类和结构体之间的主要区别:

1. 默认访问权限:

  • 在类中,默认的成员访问权限是private,这意味着类的成员在类外部是不可访问的,除非明确地声明为publicprotected

  • 在结构体中,默认的成员访问权限是public,这意味着结构体的成员在结构体外部是可直接访问的。

2. 继承:

  • 类和结构体都可以被继承,但在默认情况下,从类继承的成员是私有的,而从结构体继承的成员是公有的。

3. 用途:

  • 通常来说,类更常用于面向对象编程,它可以具有私有成员、公有成员、构造函数、析构函数等。

  • 结构体更常用于简单的数据聚合,类似于C中的结构体。它们可以有方法,但通常用于将相关数据封装在一起,而不涉及复杂的行为。

下面是一个示例,展示了类和结构体之间的区别:

// 类示例
class MyClass {
public:
    int publicVar;
    void publicMethod() {
        // 公有方法
    }

private:
    int privateVar;
    void privateMethod() {
        // 私有方法
    }
};

// 结构体示例
struct MyStruct {
    int publicVar;
    void publicMethod() {
        // 公有方法
    }
private:
    int privateVar;
    void privateMethod() {
        // 私有方法
    }
};

int main() {
    MyClass myClass;
    myClass.publicVar = 10;  // 可访问
    // myClass.privateVar = 20;  // 不可访问

    MyStruct myStruct;
    myStruct.publicVar = 30;  // 可访问
    // myStruct.privateVar = 40;  // 不可访问

    return 0;
}

在大多数情况下,可以根据需求选择使用类还是结构体。类通常用于更复杂的对象抽象,而结构体则适用于简单的数据封装。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击