How Many Types of User-Defined Data Type Are in C ++?


Larry Thompson

In C++, a user-defined data type allows programmers to create their own data types based on existing primitive data types. These user-defined data types provide flexibility and enhance code readability and maintainability.

There are several types of user-defined data types in C++ that can be used to create complex structures and abstractions. Let’s explore some of the commonly used ones:

1. Structures

A structure is a composite data type that allows you to group related variables together under a single name.

It is particularly useful when you need to represent entities with multiple attributes. To define a structure, you use the struct keyword followed by the structure name and a list of member variables enclosed within curly braces.


struct Person {
    std::string name;
    int age;
    float height;

Here, we defined a structure named “Person” with three member variables: name, age, and height. To access these variables, we use the dot (.) operator.

2. Classes

A class is another form of user-defined data type that encapsulates both data and methods (functions) that operate on that data.

It provides the foundation for object-oriented programming in C++. Classes allow you to create objects, which are instances of the class.


class Rectangle {
    int width;
    int height;

    void setDimensions(int w, int h) {
        width = w;
        height = h;

    int calculateArea() {
        return width * height;

In this example, we defined a class named “Rectangle” with two private member variables: width and height. The class also has two public member functions: setDimensions() to set the dimensions of the rectangle and calculateArea() to calculate its area.

3. Enums

An enum (enumeration) is a user-defined data type that allows you to define a set of named constants. It provides a way to associate meaningful names with numerical values, making your code more readable and maintainable.


enum Day {

In this example, we defined an enum named “Day” with seven constants representing the days of the week. Each constant is automatically assigned a value starting from 0 for the first constant (Monday) and increments by 1 for each subsequent constant.

4. Typedef

The typedef keyword allows you to create an alias (alternative name) for an existing data type. It is often used to make complex type declarations more readable or to provide abstraction.


typedef int Age;
Age myAge = 25;

In this example, we created an alias “Age” for the built-in data type “int”. Now, we can use “Age” instead of “int” in our code, which can enhance readability and maintainability.


C++ provides various user-defined data types like structures, classes, enums, and typedefs that allow programmers to create their own data abstractions and structures. These user-defined data types play a crucial role in organizing code, improving readability, and making programs more maintainable.

By understanding and utilizing these user-defined data types effectively, you can write cleaner and more efficient C++ code.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy