Типы данных, определяемые пользователем в C ++
Опубликовано: 3 Декабря, 2021
Типы данных - это средства для идентификации типа данных и связанных операций по их обработке. Есть три типа данных:
- Предопределенные типы данных
- Производные типы данных
- Пользовательские типы данных
В этой статье объясняется определяемый пользователем тип данных:
Типы данных, определяемые пользователем:
Типы данных, определяемые пользователем, называются производным типом данных или определяемым пользователем производным типом данных.
Эти типы включают:
- Класс
- Состав
- Союз
- Перечисление
- Определенный Typedef DataType
Ниже приводится подробное описание следующих типов:
- Класс: Строительный блок C ++, который ведет к объектно-ориентированному программированию, - это класс . Это определяемый пользователем тип данных, который содержит свои собственные элементы данных и функции-члены, к которым можно получить доступ и использовать, создав экземпляр этого класса. Класс подобен проекту объекта.
Синтаксис :
Пример:
// C++ program to demonstrate
// Class
#include <bits/stdc++.h>
using
namespace
std;
class
Geeks {
// Access specifier
public
:
// Data Members
string geekname;
// Member Functions()
void
printname()
{
cout <<
"Geekname is: "
<< geekname;
}
};
int
main()
{
// Declare an object of class geeks
Geeks obj1;
// accessing data member
obj1.geekname =
"GeeksForGeeks"
;
// accessing member function
obj1.printname();
return
0;
}
Выход:Имя компьютерщика: GeeksForGeeks
- Структура : структура - это определяемый пользователем тип данных в C / C ++. Структура создает тип данных, который можно использовать для группировки элементов, возможно, разных типов в один тип.
Синтаксис:
struct address { имя символа [50]; улица Чарская [100]; символ города [50]; состояние символа [20]; int pin; };
Пример:
// C++ program to demonstrate
// Structures in C++
#include <iostream>
using
namespace
std;
struct
Point {
int
x, y;
};
int
main()
{
// Create an array of structures
struct
Point arr[10];
// Access array members
arr[0].x = 10;
arr[0].y = 20;
cout << arr[0].x <<
", "
<< arr[0].y;
return
0;
}
Выход:10, 20
- Объединение : как и структуры, объединение - это тип данных, определяемый пользователем. В союзе все члены используют одну и ту же ячейку памяти. Например, в следующей программе на C и x, и y находятся в одном месте. Если мы изменим x, мы увидим, что изменения отражаются на y.
#include <iostream>
using
namespace
std;
// Declaration of union is same as the structures
union
test {
int
x, y;
};
int
main()
{
// A union variable t
union
test t;
// ty also gets value 2
tx = 2;
cout <<
"After making x = 2:"
<< endl
<<
"x = "
<< tx
<<
", y = "
<< ty
<< endl;
// tx is also updated to 10
ty = 10;
cout <<
"After making Y = 10:"
<< endl
<<
"x = "
<< tx
<<
", y = "
<< ty
<< endl;
return
0;
}
Выход:Сделав x = 2: х = 2, у = 2 Сделав Y = 10: х = 10, у = 10
- Перечисление : Перечисление (или перечисление) - это определяемый пользователем тип данных в C. Он в основном используется для присвоения имен целочисленным константам, имена облегчают чтение и поддержку программы.
Синтаксис:
enum State {Working = 1, Failed = 0};
// Program to demonstrate working
// of enum in C++
#include <iostream>
using
namespace
std;
enum
week { Mon,
Tue,
Wed,
Thur,
Fri,
Sat,
Sun };
int
main()
{
enum
week day;
day = Wed;
cout << day;
return
0;
}
Выход:2
- Typedef : C ++ позволяет явно определять новые имена типов данных с помощью ключевого слова typedef. Использование typedef на самом деле не создает новый класс данных, а определяет имя для существующего типа. Это может увеличить переносимость (возможность использования программы на разных типах машин; например, мини, мэйнфрейм, микро и т. Д. Без значительных изменений в коде) программы, поскольку нужно будет изменить только операторы typedef. . Использование typedef также может помочь в самодокументировании кода, позволяя описательные имена для стандартных типов данных.
Синтаксис:
typedef имя типа;
где type - это любой тип данных C ++, а name - новое имя для этого типа данных.
Это определяет другое имя для стандартного типа C ++.Пример:
// C++ program to demonstrate typedef
#include <iostream>
using
namespace
std;
// After this line BYTE can be used
// in place of unsigned char
typedef
unsigned
char
BYTE
;
int
main()
{
BYTE
b1, b2;
b1 =
'c'
;
cout <<
" "
<< b1;
return
0;
}
Выход:c
Хотите учиться на лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для языка и STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .