Структуры C++ (структура). Часть 2
В прошлой статье мы начали знакомство с таким типом данных С++, как структура. Как мы выяснили структуры Structures в С++ и подобных языках, нужны для группировки данных с разными типами. При этом Structures во многом сходны с классами и позволяют создавать переменные и присваивать полям внутри структуры значения. Данная особенность делает код более гибким, как и в случае классов, но при этом уменьшают расход памяти по сравнению с объектами классов. И в сегодняшней статье мы рассмотрим структуры с множеством переменных, а также именованные структуры.
Одна структура с несколькими переменными.
Для создания множества переменных к одной структуре достаточно разделить их запятыми.
struct {
int myNum;
string myString;
} myStruct1, myStruct2, myStruct3;
В этом примере показано, как использовать структуру в двух разных переменных:
#include <iostream>
#include <string>
using namespace std;
int main() {
struct {
string lang;
string rating;
int amount;
} myLang1, myLang2; // Мы можем добавлять переменные, разделяя их запятыми
// присвоим значения первой структуре
myLang1.lang = "C++";
myLang1.rating = "4";
myLang1.amount = 1000;
// Поместите данные во вторую структуру
myLang2.lang = "Python";
myLang2.rating = "6";
myLang2.amount = 2969;
// Распечатаем элементы структуры
cout << myLang1.lang << " " << myLang1.rating << " " << myLang1.amount << "\n";
cout << myLang2.lang << " " << myLang2.rating << " " << myLang2.amount << "\n";
return 0;
}
Именованные структуры.
Давая имя структуре, вы можете обращаться с ней как с типом данных. Это означает, что вы можете создавать переменные с такой структурой в любом месте программы в любое время.
Чтобы создать именованную структуру, поместите имя структуры сразу после ключевого слова struct:
struct myDataType { // Данная структура называется "myDataType"
int myNum;
string myString;
};
Чтобы объявить переменную, использующую структуру, используйте имя структуры в качестве типа данных переменной:
myDataType myVar;
Пример
Используйте одну структуру для представления двух автомобилей:
#include <iostream>
#include <string>
using namespace std;
// Объявите структуру с именем "car"
struct car {
string brand;
string model;
int year;
};
int main() {
// Создайте структуру автомобиля и сохраните ее в myCar1;
car myCar1;
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// Создайте другую структуру автомобиля и сохраните ее в myCar2;
car myCar2;
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// Распечатайте элементы структуры
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
return 0;
}
Таким образом, мы можем создавать, в С++, гибкие и при этом легкие с точки зрения потребления памяти конструкции, при помощи структур - Structure.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.