Bauwerke, die in C ++. Teil 1




структуры с++, структуры c++Изучив структуры C++ в этом уроке, перед вами по настоящему приоткроется пространство для творчества в программировании. Vor dieser Lektion, мы могли использовать стандартные (встроенные) Datentypen для переменных в своих программах (int, schweben, verkohlen, bool). Сейчас же мы научимся самостоятельно создавать что-то вроде своего собственного типа данных. Это делается при помощи структур.

Как всегда, в начале статьи разберемся зачем нам это может понадобиться. Lassen Sie uns, необходимо сохранить данные о девушке модели. Нам надо хранить о ней такие данные: Name, Alter, рост, вес, объёмы и знание/незнание английского языка. Wie Sie sehen können, все данные о модели будут отличаться типами: имя надо хранить в массиве типа char, объемыв переменных типа int, для отметки о владении английским подойдет переменная типа bool… Es stellt sich heraus,, что для хранения этих данных, Feld мы никак не сможем использовать, так как он хранит однотипные данные. Используя структуры появляется возможность сгруппировать все эти данные, условно объединенные логической связью, в одно целое. aussehen:

структуры с++, структуры c++, struct c++

Для определения структуры используется ключевое слово struct. После него указывается дескриптор (имя нового типа данных). Имя дает программист. Оно подчиняется тем же правилам, что и имена переменных. У нас дескриптор структуры – Das Wundervolle Frau. В фигурных скобках размещаются элементы (Mitglieder) Struktur – именованные переменные или массивы любого типа данных С++. Структура может хранить элементы разных типов. Как видите в нашей структуре есть элементы типа int, verkohlen und bool. Завершается определение структуры точкой с запятой ;

Nachdem, как структура определена, мы можем создавать переменные типа структурыобъекты структуры. Создаются они точно так же, как и переменные типа bool, int, verkohlenПишем дескриптор (“Typ”) и даем имя объекту структуры. Например в Main-функции создаем переменную
Wundervolle Frau firstWoman; es ist Wundervolle Frau будет играть роль типа, und firstWomanроль объявленной переменной.

Элементом структуры также может быть объект другой, определённой ранее, Struktur. То есть структуры можно вкладывать одну в другую. Рассмотрим пример. В нём также разберемся, wie man die Elemente der Struktur zuzugreifen, чтобы записать в них данные, beispielsweise, и затем показывать на экран.

Идем по порядку. Linien 4 – 9: определение структуры Größe. Она содержит три элемента типа int, которые будут хранить замеры моделиобъемы груди, талии, бёдер. Эту структуру мы вложим в расположенную под ней структуруWundervolle Frau. Она содержит элементы разных типовсимвольный массив, Typ Variablen int, bool. On line 17 erklärt Objekt volume Typ Größe. Это и есть вложение структуры. В 21-й строке находится прототип функции, которая будет отображать данные структуры Wundervolle Frau der Bildschirm. Об этой функции поговорим ниже, когда дойдем до её определения.

Reihe 27 – объявление объекта структуры: Wundervolle Frau firstWoman = {}; Тут понятно: Wundervolle Frau – Descriptor (Typ), firstWoman объект структуры. Такая запись = {}; установит все значения элементов структуры Wundervolle Frau в ноль. В том числе, всем элементам символьного массива будет присвоено значение \0 . Так как объект volume является элементом структуры Wundervolle Frau, его элементам так же будут присвоены нули. То есть такая запись позволит очистить все элементы структуры от мусора (остаточных данных от других программ).

Обращение к элементам структуры. Чтобы записать или извлечь данные нам надо обратиться к конкретному элементу объекта структуры. Для этого применяется операция принадлежности . (Punkt): firstWoman.Alter = 23; Надо нам внести данные о возрастепишем имя объекта структуры, за ним . (Punkt) и далее имя элемента структуры, в котором должно храниться количество лет модели. Чтобы сохранить имяиспользуем библиотечную функцию strcpy_s() oder strcpy() (в зависимости от вашей среды разработки).

Внимательно посмотрите на строки 36 – 38. Там мы присваиваем значения элементам вложенной структуры. beispielsweise: firstWoman.volume.breast = 90; Как и раньше пишем имя объекта структуры, за ним . (Punkt). Далее имя объекта вложенной структуры, снова . (Punkt). И только теперь выбираем элемент вложенной структуры breast, к которому надо обратиться.

Последнееструктуру свободно можно передавать в функцию и возвращать из функции, как и обычные переменные. Определение функции для вывода данных структуры на экран – auf den Leitungen 45 – 54. Так как нам надо только показать данные и очень желательно их не испортить в функции, передаем структуру с использованием оператора const. Вызов функции находится в строке 40. Тут просто передаем объект структуры в функцию, указав его имя. Ergebnis:

структуры с++, структуры c++, struct c++

Домашнее задание для вас: написать еще одну функцию для нашей программы, в которой пользователю предлагается вводить данные о модели с клавиатуры. Внести данные надо будет о трёх моделях и показать их на экран.

В этом видео рассказано о структурах с 4-й минуты:




В этой статье (Teil) мы очень поверхностно рассмотрели структуры C++. В дополнительной статье (во второй части) о структурах еще поговорим об особенностях определения структуры, об инициализации объектов структуры, о присваивании структур с использованием операции = und dass сколько памяти выделяется под объекты структур.

Zur Unterstützung unserer Website – klicken Sie auf das Sparschwein und wählen Sie eine beliebige bequeme Weise.

Newsletter neue Lektionen über die Programmierung:

Bauwerke, die in C ++. Teil 1
5 (100%) 4 Stimmen

8 Gedanken zu "Bauwerke, die in C ++. Teil 1

  1. меня всегда пугают новые темы в С++. Так и со структурами ))) Страшно было и подступиться. Почитала то там, то там. Потом зашла на ваш сайткак всегда все коротко и понятно. Жду вторую часть урока о структурах. И массив структур очень интересует :)

  2. Guten Tag! Prompt, а откуда взялось &Obj в 45 строке? Я думал это ссылка на переменную Obj, но она нигде не объявлена. Im Allgemeinen, с этим я запутался. Разъясните пожалуйста.

  3. Тут просто передаем обьект структуры в функцию, указав его имя”. Но ведь у нас имя обьекта структурыэто firstWoman, а мы передаем Obj. А если обьектов будет несколько, как передать конкретный из них?

  4. Guten Tag! я новичок, вопрос, правильно ли этот код складывает футы и дюймы?
    #einschließen “stdafx.h”
    #einschließen
    using namespace std;

    struct Distance
    {
    int feet;
    float inches;
    };

    Distance addengls(Distance, Distance);

    void engldisp(Distance);

    int _tmain(int argc, _TCHAR * Argv[])
    {
    setlocale(0, “”);

    Distance d1, d2, d3;

    cout <> d1.feet;
    cout <> d1.inches;

    cout <> d2.feet;
    cout <> d2.inches;

    d3 = addengls(d1, d2);

    cout <<endl;

    engldisp(d1); cout << " + ";

    engldisp(d2); cout << " = ";

    engldisp(d3); cout <= 12.0)
    {
    dd3.inches -= 12.0;

    dd3.feet++;
    }

    dd3.feet += dd1.feet + dd2.feet;

    return dd3;
    }

    void engldisp(Distance dd)
    {

    cout << dd.feet << "\'-" << dd.inches << "\"";

    }

Hinterlasse eine Antwort

Deine Email-Adresse wird nicht veröffentlicht. erforderliche Felder sind markiert *