21xrx.com
2024-11-03 21:37:36 Sunday
登录
文章检索 我的文章 写文章
C++ 自定义类型:如何创建、使用和操作?
2023-07-13 01:48:21 深夜i     --     --
C++自定义类型 创建 使用 操作

C++是一门面向对象的编程语言,因此支持用户自定义类型。在C++中,可以通过结构体、类和枚举来定义自己的类型,这些类型可以具有自定义数据成员和函数成员,以便更好地组织和操作数据。

创建自定义类型的首要任务是定义结构体或类。结构体和类的定义方式非常相似,但类具有更多的特性(如继承、封装和多态性)以及更高的抽象等级。在结构体和类中都可以定义自定义数据类型,以便对数据对象进行操作。例如,以下是一个简单的结构体定义,用于表示一个人的基本信息:


struct Person

  std::string name;

  int age;

  char gender;

;

在上面的定义中,Person是一个结构体标签(tag),包含三个数据成员(name、age和gender),它们的类型分别是std::string、int和char。现在我们可以创建一个Person对象,然后使用点操作符访问它的数据成员:


Person p;

p.name = "John Doe";

p.age = 30;

p.gender = 'M';

std::cout << p.name << ", " << p.age << ", " << p.gender << std::endl;

上面的代码会输出“John Doe, 30, M”,这表明我们可以通过自定义类型来有效地组织和操作数据。

除了自定义数据类型,结构体和类还可以定义函数成员,这些函数可用于操作数据对象。例如,在Person结构体中添加一个函数成员getOlder(),以便增加该人的年龄:


struct Person {

  std::string name;

  int age;

  char gender;

  

  void getOlder() { age++; }

};

现在我们可以创建一个Person对象,并多次调用它的getOlder()函数,以便增加该人的年龄:


Person p;

p.age = 30;

p.getOlder(); // p.age is now 31

p.getOlder(); // p.age is now 32

另外一个自定义类型是枚举(enum),它定义了一组可能的值,可用于更好地描述某些数据对象。例如,以下是一个简单的枚举定义,用于表示一周的每一天:


enum DayOfWeek SATURDAY;

在上面的定义中,DayOfWeek是一个枚举类型名,MONDAY、TUESDAY等是枚举常量,它们的类型都是DayOfWeek。现在我们可以定义一个DayOfWeek类型的变量,然后将一个枚举常量赋值给它:


DayOfWeek d = MONDAY;

std::cout << d << std::endl; // outputs "0" (the value of MONDAY)

在上面的示例中,d是一个DayOfWeek类型的变量,它被初始化为MONDAY。由于MONDAY等枚举常量实际上是整数值,所以输出d的值为0(MONDAY的值)。

总之,C++支持自定义数据类型,这使得开发人员可以更好地组织和操作数据。结构体、类和枚举是定义自定义类型的常见方式,它们可以定义自定义数据成员和函数成员,以便更好地描述和操作数据对象。

  
  

评论区

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