21xrx.com
2025-03-28 03:57:03 Friday
文章检索 我的文章 写文章
C++中的两种自定义数据类型指南
2023-07-04 23:08:09 深夜i     7     0
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++中的自定义数据类型,使用方法类似但实现不同。结构体适合于描述简单的数据结构,而类则适合于描述复杂的数据结构和实现面向对象编程。在进行编程时,开发者需要根据具体的需求选择合适的自定义数据类型来实现需求。

  
  

评论区

请求出错了