Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / Лекции 1-2.docx
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
142.98 Кб
Скачать

Void print () {

std::cout << "name: " << m_name << "\nid: " << m_id <<

"\nwage: $" << m_wage << '\n';

}

};

Int main () {

// определяем двух работников

employee john {"john", 5, 30.00 };

employee max {"max", 6, 32.75 };

// выводим информацию о работниках на экран

john.print ();

std::cout<<std::endl;

max.print ();

return 0;

}

Результат выполнения программы:

name: John Id: 5 wage: $30

name: Max Id: 6 wage: $32.75

В отличие от обычных функций, порядок, в котором определены методы класса, не имеет значения!

Примечание о структурах в C++

В языке Cи структуры могут только хранить данные и не могут иметь связанных методов. После проектирования классов (используя ключевое слово class) в языке С++, Бьёрн Страуструп размышлял о том, нужно ли, чтобы структуры (которые были унаследованы из языка Си) имели связанные методы. После некоторых размышлений он решил, что нужно. Поэтому в программах, приведенных выше, мы также можем использовать ключевое слово struct, вместо class, и всё будет работать!

Заключение

Стандартная библиотека C++ полна классов, созданных для нашего удобства. 

std::stringstd::vector и std::array — это всё типы классов!

Поэтому, когда вы создаете объект любого из этих типов, вы создаете объект класса.

А когда вы вызываете функцию с использованием этих объектов, вы вызываете метод:

#include <string>

#include <array>

#include <vector>

#include <iostream>

Int main () {

std::string s {"Hello, world!" }; // создаем экземпляр класса string

std::array<int, 3> a {7, 8, 9 }; // создаем экземпляр класса array

std::vector<double> v {1.5, 2.6, 3.7 }; // создаем экземпляр класса

// vector

std::cout << "length: " << s.length() << '\n'; // вызываем метод

return 0;

}

Ключевое слово class позволяет создать пользовательский тип данных в языке C++, который может содержать как переменные-члены, так и методы.

Классы — это основа объектно-ориентированного программирования!

Задание №1

Создайте класс Numbers, который содержит два целых числа. Этот класс должен иметь две переменные-члены для хранения этих двух целых чисел. Вы также должны создать два метода:

    метод set (), который позволит присваивать значения переменным;

    метод print (), который будет выводить значения переменных.

Выполнение следующей функции main ():

Int main () {

Numbers n1;

n1.set (3, 3); // инициализируем объект n1 значениями 3 и 3

Numbers n2 {4, 4}; // инициализируем объект n2 значениями 4 и 4

n1.print ();

n2.print ();

return 0;

}

должно выдавать следующий результат:

Numbers (3, 3) Numbers (4, 4)

Спецификаторы доступа public и private

Рассмотрим следующую программу:

struct DateStruct // члены структуры являются открытыми по умолчанию

{

int day; // открыто по умолчанию, доступ имеет любой объект

int month; // открыто по умолчанию

Int year; // открыто по умолчанию

};