21xrx.com
2024-11-25 08:58:15 Monday
登录
文章检索 我的文章 写文章
C++中类和结构体的关系
2023-07-04 19:29:21 深夜i     --     --
C++ 结构体 关系 区别

在C++中,类和结构体是两种重要的数据类型,它们可以通过定义成员变量和成员函数来封装数据和行为。但是,类和结构体之间有什么关系呢?

首先,从语法上来说,在C++中,类和结构体的定义方式是相似的,都可以使用关键字“class”或“struct”来定义。例如:


class Person {

 private:

  string name;

  int age;

 public:

  void sayHello() I'm " << age << " years old." << endl;

  

};

struct Point {

  double x, y;

  void show() {

    cout << "(" << x << "," << y << ")" << endl;

  }

};

从上面的代码可以看出,类和结构体定义的成员变量和成员函数都用于封装数据和行为。

其次,在C++中,类和结构体的区别在于默认访问控制,即成员变量和成员函数的默认访问权限不同。对于类来说,成员变量和成员函数的默认访问权限是private,而对于结构体来说,成员变量和成员函数的默认访问权限是public。因此,我们可以将结构体理解为C++中的一个轻量级类。

但是,类和结构体之间的区别并不是绝对的,可以通过添加关键字来改变默认的访问权限。例如:


class Person {

 public:

  string name;

  int age;

 private:

  void sayHello() I'm " << age << " years old." << endl;

  

};

struct Point {

 private:

  double x, y;

 public:

  void show() {

    cout << "(" << x << "," << y << ")" << endl;

  }

};

在上面的代码中,我们将Person类的sayHello函数设置成了private,而将Point结构体的x和y成员变量设置成了private。这样,我们就可以通过添加关键字来灵活地设置类和结构体的访问权限。

总的来说,类和结构体是C++中两种封装数据和行为的方式,它们的定义和语法非常相似,但默认的访问权限不同。我们可以根据需要选择合适的方式来组织代码。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复