21xrx.com
2024-12-26 21:20:59 Thursday
登录
文章检索 我的文章 写文章
C++中的两种自定义数据类型指南
2023-07-04 23:08:09 深夜i     --     --
C++ 自定义数据类型 结构体 指南

C++作为一种面向对象的编程语言,允许开发者自定义数据类型,以更好地满足编程需求。在C++中,有两种自定义数据类型:结构体和类。本文将介绍这两种数据类型的定义、使用方法以及使用场景。

1. 结构体

结构体是一种用户自定义的数据类型,它可以将不同类型的数据集合在一起。结构体的定义方式如下:


struct 类型名

  变量类型 成员变量名;

  变量类型 成员变量名;

  ...

;

例如,定义一个表示学生的结构体可以如下:


struct Student {

  int id;

  char name[20];

  int age;

};

结构体的使用方法与普通变量类似,可以直接使用“.”运算符访问结构体成员变量。例如,给学生结构体赋值并输出其成员值的代码如下:


Student s;

s.id = 1;

strcpy(s.name, "小明");

s.age = 18;

cout << "学号:" << s.id << endl;

cout << "姓名:" << s.name << endl;

cout << "年龄:" << s.age << endl;

2. 类

类是一种更加高级的自定义数据类型,它包含了数据成员和成员函数,以及构造函数和析构函数等特殊的函数。类的定义方式如下:


class 类名 {

 访问修饰符:

   成员变量类型 成员变量名;

   成员函数返回值类型 成员函数名(函数参数列表);

};

例如,定义一个表示复数的类可以如下:


class Complex {

private:

  double real;

  double imag;

public:

  Complex(double r = 0, double i = 0) : real(r), imag(i) {}

  Complex operator+(Complex &other) {

    return Complex(real + other.real, imag + other.imag);

  }

  Complex operator-(Complex &other) {

    return Complex(real - other.real, imag - other.imag);

  }

  void print() {

    cout << real << "+" << imag << "i" << endl;

  }

};

在上述代码中,构造函数使用了默认参数,同时也定义了加法和减法运算符重载函数,以及打印复数的成员函数。

类的使用方式也与普通变量类似,可以通过创建类对象后使用“.”运算符来访问类的成员函数和成员变量。例如,实现两个复数相加的代码如下:


Complex a(1, 2);

Complex b(3, 4);

Complex c = a + b;

c.print(); // 输出:4+6i

总结:

综上所述,结构体和类都是C++中的自定义数据类型,使用方法类似但实现不同。结构体适合于描述简单的数据结构,而类则适合于描述复杂的数据结构和实现面向对象编程。在进行编程时,开发者需要根据具体的需求选择合适的自定义数据类型来实现需求。

  
  

评论区

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