#19 – Создание классов и объектов

#19 – Создание классов и объектов

За урок вы на практике изучите использование классов и объектов. Вы познакомитесь с C++ ООП, научитесь строить классы и объекты на их основе.

Видеоурок

Создание классов

Для создания класса необходимо прописать ключевое слово class и далее название для класса. Общепринято начинать названия классов с буквы в верхнем регистре, но если этого не сделать, то ошибки не будет.


В любом классе можно создавать поля (переменные), методы (функции), а также конструкторы.


Создав новый класс и поместив туда какую-либо информацию мы можем создавать на основе него новые объекты. Объекты будут иметь доступ ко всем характеристикам класса, которые отмечены модификатором public.


Существует три модификатора доступа:

  • public - данные будут видны повсюду, как в классе, так и вне его;
  • protected - данные будут видны только в классе, где они были созданы, а также в классах наследниках;
  • private - данные будут видны только в классе, где они были созданы.

Пример простого класса приведен ниже:


class Book {
public:
	int pages;
	char name;
	float weight;
 
	void getInfoBook () {
		cout << "В книге " << name << " находиться " << pages << " страниц. " << endl;
		cout << "При этом она весит " << weight << endl;
	} 
};

На основе такого класса мы можем создать множество объектов. Каждый объект в данном случае будет представлять из себя конкретную книжку. Для каждого объекта мы можем указать уникальные данные: количество страниц, название книги и её вес.


Чтобы создать объект нам потребуется следующий код:

Book sherlock_holms; // Создание объекта
sherlock_holms.getInfoBook(); // Вызов метода класса

Такой код можно прописать и в одной строке кода. Мы для наглядности разбили код в две строки. 


Чтобы брать данные из класса через объект необходимо ставить точку и указывать имя переменной или функции, которую мы хотим взять.

Исходный код

Создание классов
#include <iostream>
#include <string>

using namespace std;

class Building {
private:
	int year;
	string type;
public:
	void set_data(int y, string t) {
		year = y;
		type = t;
	}

	void get_info() {
		cout << "Type: " << type << ". Year: " << year << endl;
	}
};

int main() {
	setlocale(LC_ALL, "RU");

	Building school;
	//school.type = "Школа";
	//school.year = 2000;
	school.set_data(2000, "Школа");
	school.get_info();

	Building house;
	//house.type = "Дом";
	//house.year = 2010;
	house.set_data(2010, "Дом");
	house.get_info();

	return 0;
}

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Создание игры на C++ / Создание "Змейки"
3 урока
Изучение C++ от новичка до профи
Основы программирования
12 уроков
Уроки Qt Creator | Графический интерфейс на С++
13 уроков
Уроки C++ WinForms / Создание программ на Windows
8 уроков
Комментарии
Добавить комментарий

Пока комментариев нет