Библиотека классов

int kvartira::Getrazmer()

{

return itsrazmer;

}

Определим еще одну открытую функцию обеспечения доступа Setrazmer, которая устанавливает переменную-член itsrazmer равной значению, переданному параметром razmer:

void kvartira::Setrazmer(int razmer)

{

itsrazmer=razmer;

}

Определим метод meb, который возвращает void и не имеет параметров, в данном случае используется для вывода на экран текста "komnata"

void kvartira::meb()

{

cout<<"komnata\n";

}

Определение методов и функций класса mebel аналогично.

Функция main() подобно всем другим функциям должна объявить тип возвращаемого значения, в данном случае она возвращает значение типа int, а это означает, что по окончании работы эта функция возвратит операционной системе целочисленное значение.

Объект cout используется для вывода сообщений на экран, а объект cin обрабатывает ввод с клавиатуры.

Конструктор вызывается при определении объекта класса. Так как для создания объекта класса kvartira необходим один параметр, то это будет выглядеть так:

kvartira mmeb(18);

Объявляем переменную a, которой присваиваем тип int, с помощью cin вводим её с клавиатуры. С помощью оператора if организуем условие:

if (a=1){}

После завершения составления программы, она была откомпилирована и запущена, пример её выполнения представлен в приложении №2.

ВЫВОД

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

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

Программа, представленная в приложении №1, может найти свое эффективное применение в бытовой сфере. Она позволяет разумно подойти к вопросу расстановки мебели в квартире, а также позволяет заметно сэкономить время на подсчет мебели.

Также следует отметить, что реализованный в этой программе алгоритм, достаточно прост для понимания рядовому пользователя.

СПИСОК ЛИТЕРАТУРЫ

1. Либерти Дж. Освой самостоятельно С++ за 21 день: 3-е изд, пер. с англ.: Уч. Пос. – М.: Издательский дом «Вильямс», 2000. – 816.: ил. – Парал. Тит. Англ.

2. Страуструп Б. Язык программирования С++: 2-е изд, пер. с англ.

ПРИЛОЖЕНИЕ №1

#include<iostream>

using namespace std;

class kvartira

{

public:

kvartira(int initialrazmer);

~kvartira();

int Getrazmer();

void Setrazmer(int razmer);

void meb();

private:

int itsrazmer;

};

class mebel

{

public:

mebel(int initialkol);

~mebel();

int Getkol();

void Setkol(int kol);

void stol();

void stul();

void divan();

void tumba();

private:

int itskol;

};

kvartira::kvartira(int initialrazmer)

{

itsrazmer=initialrazmer;

}

kvartira::~kvartira()

{}

int kvartira::Getrazmer()

{

return itsrazmer;

}

void kvartira::Setrazmer(int razmer)

{

itsrazmer=razmer;

}

void kvartira::meb()

{

cout<<"komnata\n";

}

mebel::mebel(int initialkol)

{

itskol=initialkol;

}

mebel::~mebel()

{}

int mebel::Getkol()

{

return itskol;

}

void mebel::Setkol(int kol)

{

itskol=kol;

}

void mebel::stol()

{

cout<<"stol\n";

}

void mebel::stul()

{

cout<<"stul\n";

}

void mebel::divan()

{

cout<<"divan\n";

}

void mebel::tumba()

{

cout<<"tumba\n";

}

int main()

{

cout<<"Mebel v kvartire\n";

mebel sstol(10);

sstol.stol();

cout<<"\nV komnate stolko stolov: "<<sstol.Getkol()<<"\n";

mebel sstul(11);

sstul.stul();

cout<<"\nV komnate stolko stulev: "<<sstul.Getkol()<<"\n";

mebel ddivan(12);

ddivan.divan();

cout<<"\nV komnate stolko divanov: "<<ddivan.Getkol()<<"\n";

mebel ttumba(13);

ttumba.tumba();

cout<<"\nV komnate stolko tumb: "<<ttumba.Getkol()<<"\n";

kvartira mmeb(18);

mmeb.meb();

cout<<"\nRazmer komnati: "<<mmeb.Getrazmer()<<"metrov\n";

int a;

cout<<"Vi hotite dobavt mebeli? Yes(1) No(2)\n";

cin>>a;

if (a=1)

{

cout<<"Chto vi hotite dobavit? stol(1), stul(2), divan(3), tumba(4)";

int b;

cin>>b;

if (b=1)

{

mebel sstol(11);

sstol.stol();

cout<<"\nTeper v komnate stolko stolov: "<<sstol.Getkol()<<"\n";

}

else if (b=2)

{

mebel sstul(12);

sstul.stul();

cout<<"\nTeper v komnate stolko stulev: "<<sstul.Getkol()<<"\n";

}

else if (b=3)

{

mebel ddivan(13);

ddivan.divan();

cout<<"\nTeper v komnate stolko divanov: "<<ddivan.Getkol()<<"\n";

}

else if (b=4)

{

mebel ttumba(14);

ttumba.tumba();

cout<<"\nTeper v komnate stolko tumb: "<<ttumba.Getkol()<<"\n";

}

}

else if (a=2)

cout<<"Net tak net!\n";

}

Пример выполнения программы приведен в приложении № 2

ПРИЛОЖЕНИЕ №2

Пример выполнения программы из приложения №1

Mebel v kvartire

stol

V komnate stolko stolov: 10

stul

V komnate stolko stulev: 11

divan

V komnate stolko divanov: 12

tumba

V komnate stolko tumb: 13


Страница: