Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

First.ехе - 0 error(s), 0 warning(s)




Теперь запустите программу командой Build > Execute first.exe.

В окне виден текст сообщения Welcome to C++ и подсказка Press any key to continue,вставленная Visual C++. Если нажать любую клавишу, окно исчезнет с экрана.

На примере этой маленькой программы мы познакомились с проектами и рабочими областями Visual C++, с компиляцией программ и с редактированием текстов. Теперь можно заняться собственно программированием на С++. C++ считается объектно-ориентированным языком; сейчас мы выясним, что составляет главную суть этого понятия.

Классы и объекты C++

Объекты и классы две фундаментальные концепции всех объектно-ориентированных языков (типа C++). Поскольку эти концепции достаточно важны, мы потратим несколько минут на знакомство с ними, что избавит нас от затрат времени и недоразумений в будущем. Из-за шумихи, поднятой в последнее время, объектно-ориентированное программирование (ООП) может показаться таинственным и неприступным, но это совсем не так. На самом деле ООП было придумано для того, чтобы упростить написание длинных программ. Наш мини-обзор объектно-ориентированного программирования начнется с объектов.

Что такое объект?

В длинных и сложных программах переменные и функции могут исчисляться сотнями. Это заметно усложняет создание и сопровождение таких программ, поскольку вам приходится помнить обо всем этом. Наличие переменных с одинаковыми именами в различных функциях может привести к нежелательным конфликтам. Объектно-ориентированное программирование как раз и было изобретено для того, чтобы большие программы можно было разделять на отдельные части.

В концепции объектов нет ничего сложного. Программа просто делится на фрагменты, каждый из которых предназначен для решения отдельной задачи; эти фрагменты и называются объектами. Например, весь код для экранного вывода можно выделить в объект с именем screen(экран). Объекты обладают большими возможностями, чем простые функции и переменные, поскольку в них могут содержаться как функции, так и переменные, что облегчает работу с ними. Наш объект screen может содержать не только все данные, отображаемые на экране, но и функции для работы с этими данными, например drawString() (для вывода строк) или drawLine() (для рисования линий). Это означает, что вся работа с экраном изолируется от остальной части программы, что упрощает работу программиста.

Другой пример - представьте себе холодильник. Вряд ли вам захотелось бы постоянно вручную регулировать температуру и управлять работой его насосов. Если же сделать эти функции внутренними и выполняемыми автоматически, холодильник превращается в полезный и удобный объект. Подобноеслияние кода с данными в объектах закладывает основу для всего объектно-ориентированного программирования.

Что такое класс?

Как создать объект? На помощь приходят классы. Класс для объекта — пример вроде, что форма для печенья; другими словами, класс можно рассматривать шаблон или "форму" для изготовления объектов. В программировании подобная связь существует между типом данных (например, целочисленным) и переменной. Например, в следующем примере создается целая переменная с именем the_data:

int the_data;

Именно так создаются целочисленные переменные в C++. Здесь int — тип переменной, a the_data — имя самой переменной. Аналогичная связь существует между классом и объектом. Приближенно класс можно рассматривать как тип.

ПОДСКАЗКА Как мы вскоре убедимся, C++ поддерживает все стандартные типы данных, принятые в программировании — int/ double/ long/ float и т. д.

Например, если заранее подготовить класс screenclass, можно создать объект этого класса с именем screen:

screenclass screen;

Важно помнить о том, что все рабочие данные хранятся в объекте. Класс не содержит никаких данных; он лишь описывает общую структуру и поведение объекта.

По своей сути объектно-ориентированное программирование — это всего лишь способ группировки функций и данных, облегчающий работу над программой. Мы познакомимся с другими аспектами объектно-ориентированного программирования и научимся создавать классы, создавать объекты классов и обращаться к функциям и данным объектов.

На этом краткий обзор классов и объектов завершается. Подведу итог: класс представляет собой программную конструкцию для объединения (или инкапсуляции) функций и данных. Объект можно рассматривать как переменную, тип которой совпадает с данным классом -- подобно тому, как объект screen принадлежал классу screenclass.

В комплект Visual C++ входит целая библиотека заранее написанных классов — Microsoft Foundation Classes (MFC), которая заметно облегчает работу программиста. На ее основе можно создавать объекты для работы с кнопками, текстовыми полями, полосами прокрутки и т. д.Фирма Microsoft уже поработала за нас, и позднее мы воспользуемся этим.

А теперь давайте рассмотрим пример программы, в которой используются классы и объекты.

 Наша первая программа на C++ с классами и объектами

В следующем примере мы создадим класс DataClass и объект этого класса DataObject. Ни класс, ни объект не будут обладать особо впечатляющими возможностями, но зато пример поможет вам разобраться в том, как работают классы и объекты.

Создайте в Visual C++ новый проект с именем classesтак, как это было сделано в предыдущем примере. Затем включите в него новый файл с именемclasses.cpp. После этого можно добавить код; как и раньше, начнем со включения файла iostream.h:

#include <iostream.h>

После этого объявим новый класс DataClass:

#include <iostream.h>

class DataClass {

 }

Новые классы объявляются с ключевым словом class. Оставшаяся часть объявления класса заключается в фигурные скобки { и }.

Почти во всех объектах C++ хранятся определенные данные; такая возможность будет предусмотрена и в классе DataClass. Для хранения данных используются переменные класса. Например, в класс можно включить переменную типа int (то есть создать целую переменную класса) с именемPrivateDataMember:

#include <iostream.h>

class DataClass {

        private:

        int PrivateDataMember;

}

Новая переменная класса имеет целый тип и, соответственно, может хранить целочисленные значения. Обратите внимание на ключевое слово private— оно означает, что переменная класса является закрытой, и с ней могут работать только объекты нашего класса DataClass. Ключевое слово private называется модификатором доступа.

ПОДСКАЗКА: Если опустить модификатор доступа в объявлении класса, по |умолчанию используется модификатор private.










Последнее изменение этой страницы: 2018-04-12; просмотров: 365.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...