Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Основы Visual C++
Урок 11. Первый класс в первый раз или начало ООП

Начинаем изучать классы. Эта тема относится к объектно-ориентированному программированию. Классы есть в многих языках - C++, Java, Delphi. Давайте напишем наш первый класс на C++. Но для начала несколько слов, что такое класс вообще. В первом приближении класс - это некоторый набор переменных плюс некоторый набор функций. Они представляют из себя единое целое - класс. Функции класса имеют доступ ко всем переменным класса. Извне же часть класса открыта, а часть - закрыта. То, что у класса видно снаружи, можно использовать. И как он устроен изнутри мало кого интересут, разве что разработчика, который этот класс писал.

Класс можно рассматривать как форму для куличиков (в детстве все играли в песочнице). Следует различать сам класс и экземпляры класса. Продолжая аналогию с куличиками, отметим, что класс - это аналог формочки, а конкретный экземпляр класса - это куличик. Как из одной формочки вы можете слепить несколько куличиков, так и из одного класса можно сделать несколько экземпляров нашего класса.

С теорией все, переходим к практике. Создайте новое консольное приложение. Напечатайте следующий текст:

#include <iostream.h>
 
 class CMyClass{
 
 public:
 
     int m_N;
 
     int n2();
 
     void set_n(int);
 
 };
 
 void main(){
 
     CMyClass a;
 
     a.set_n(5);
 
     cout<<a.n2()<<"\n";
 
     cout<<a.m_N;
 
 }
 
 int CMyClass::n2(){
 
     return m_N*2;
 
 }
 
 void CMyClass::set_n(int n){
 
     m_N=n;
 
 }

Класс мы вводим с помощью ключевого слова class. За ним идет имя класса (которое задаете вы сами). Далее в фигурных скобках пишем т. н. интерфейс класса. Обратите внимание на точку с запятой после закрывающей фигурной скобки класса. Её присутствие обязательно:

 
 ...
 
 };
 
 ...

Интерфейс класса представляет из себя набор функций (они же методы) и переменных класса. У нас в интерфейсе одна переменная (m_N) и две функции (n2() и set_n()).

Обратите внимание на слово

 
 ...
 
 public:
 
 ...

внутри нашего класса. Она определяет тип доступа к переменным и методам нашего класса. Всего возможных типов доступа - три штуки. Вот они:

ЗначениеОписание
private:Данная часть класса закрыта. Только сам класс имеет к ней доступ.
public:Данная часть класса открыта. Все имеют к ней доступ.
protected:Данная часть класса открыта только для потомков нашего класса (потомки будут рассмотрены позднее).

Если не написать ни какого слова для определения доступа, то по умолчанию будет private.

В конце текста мы написали реализацию функций:

int CMyClass::n2(){
 
     return m_N*2;
 
 }
 
 void CMyClass::set_n(int n){
 
     m_N=n;
 
 }

Как понятно, метод класса n2 просто возвращет удвоенную переменую m_N нашего класса, а метод set_n позволяет задать переменной m_N новое значение. Обратите внимание, что так как мы пишем реализацию методов класса вне его, то перед именем метода пишем имя класса с двойным двоеточием:

int CMyClass::n2(){
 
     ...
 
 }

В функции main() мы просто испытываем наш класс. Сначала мы заводим переменную типа нашего класса:

 
     CMyClass a;
 
     ...
 
 

Затем мы вызываем разные методы и используем переменные нашего класса:

...
 
     a.set_n(5);
 
     cout<<a.n2()<<"\n";
 
     cout<<a.m_N;
 
 

Обратите внимание, что при использовании методов и переменных класса мы пишем имя конкретного экземпляра нашего класса (т. е. переменной a), после которого ставим точку. После точки появляются подсказки (то, что мы написали для методов и переменных нашего класса):

Подсказки

При запуске наша программа должна вывести 5 и 10:

Результат

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS