📜  C ++中的用户定义数据类型(1)

📅  最后修改于: 2023-12-03 15:13:45.698000             🧑  作者: Mango

C++中的用户定义数据类型

C++语言中,用户定义数据类型(User Defined Data Types)是指程序员自己定义的数据类型,可以根据程序的需求去定义自己需要的数据类型,可以是一个基本数据类型的组合,也可以是一个类类型。在使用用户定义数据类型时,可以根据自己的需要对数据类型进行定义,以便更好地实现程序的功能。

C++中的用户定义数据类型包括以下几种:

  1. 结构体(Structures):结构体是由不同数据类型的变量组合而成的复合数据类型。每个结构体成员可以是任何C++数据类型,包括基本数据类型和其他结构体类型等。

定义结构体的一般形式如下:

struct 结构体名 { 
    类型 成员1; 
    类型 成员2;
    .
    .
    .
};

结构体可以用于表示对现实世界中一些对象的描述,如汽车,学生等。代码示例:

struct Car { 
    char brand[50]; 
    char model[50]; 
    int year;
    double price;
};

int main() { 
    Car car1 = {"Audi", "A4", 2018, 38000.0}; 
    Car car2 = {"Benz", "C200", 2019, 40000.0}; 

    std::cout << "Car 1 details: \n Brand: " << car1.brand << "\n Model: " << car1.model << "\n Year: " << car1.year << "\n Price: " << car1.price << std::endl;

    std::cout << "Car 2 details: \n Brand: " << car2.brand << "\n Model: " << car2.model << "\n Year: " << car2.year << "\n Price: " << car2.price << std::endl;

    return 0; 
}

输出结果:

Car 1 details: 
 Brand: Audi
 Model: A4
 Year: 2018
 Price: 38000

Car 2 details: 
 Brand: Benz
 Model: C200
 Year: 2019
 Price: 40000
  1. 枚举类型(Enumeration):枚举类型也是一种由程序员定义的数据类型,通常用于表示值的有限的范围。在C++中,枚举类型是用于定义一个变量只能取特定的值的一种巧妙方式。

定义枚举类型的一般形式如下:

enum 枚举名 {枚举值1, 枚举值2, ......};

代码示例:

enum Color {Red, Green, Blue}; 

int main() { 
    Color c = Blue; 

    if (c == Blue) 
        std::cout << "The color is Blue" << std::endl;
    else if (c == Green) 
        std::cout << "The color is Green" << std::endl; 
    else 
        std::cout << "The color is Red" << std::endl; 

    return 0; 
}

输出结果:

The color is Blue
  1. 共用体(Union):共用体是由不同数据类型的变量组合而成的一种特殊的数据类型。和结构体不同的是,共用体中的每个成员使用的是同一块内存空间。

定义共用体的一般形式如下:

union 共用体名 { 
    数据类型 成员1; 
    数据类型 成员2; 
    . 
    . 
    .
};

示例代码:

union Test { 
    int x;
    double y; 
};

int main() { 
    Test t; 
    t.x = 10; 
    std::cout << "t.x: " << t.x << std::endl;

    t.y = 10.0; 
    std::cout << "t.y: " << t.y << std::endl; 

    return 0; 
}

输出结果:

t.x: 10
t.y: 10
  1. 类(Classes):类是C++中最重要的用户自定义数据类型之一,它是一种封装了数据和操作的结构。类的成员可以是数据成员、成员函数、构造函数、析构函数、静态成员函数和静态数据成员等。

定义类的一般形式如下:

class 类名 { 
    private: 
        // 私有的成员和函数 
    public: 
        // 公有的成员和函数 
    protected: 
        // 受保护的成员和函数 
};

示例代码:

class Student { 
    private: 
        int id; 
        std::string name; 
        int score; 
    public:
        Student(int _id, std::string _name, int _score) { 
            id = _id; 
            name = _name; 
            score = _score; 
        } 
        
        int getId() { 
            return id; 
        } 

        std::string getName() { 
            return name; 
        } 

        int getScore() { 
            return score; 
        } 
};

int main() { 
    Student s(1, "Tom", 90) ;
    std::cout << "ID: " << s.getId()    << " Name: " << s.getName() << " Score: " << s.getScore() << std::endl; 
    
    return 0; 
}

输出结果:

ID: 1 Name: Tom Score: 90

以上就是C++中用户定义数据类型的介绍,通过灵活使用这些数据类型,可以更好地实现程序的功能。