Библиотека классовРефераты >> Программирование и компьютеры >> Библиотека классов
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