15.5 Пример класса Tkplk
#include <iostream.h >
#include <conio.h >
#include <string.h >
class Tkplk {
private: int sum;
public: int hei, wei, cvet;
char nazv[20];
void show (int kodrm) ;
void add (int kop);
Tkplk ( int , int , int ,char * ); //это прототип конструктора
//- - - - - - - - - - - - - - - -
int dzin() { // разбиваем копилку
cout<< " Broken with sum= "<<sum<<endl; return 1; }
}; // end of class - - - - - - - - - - - - - - - -
void Tkplk::show ( int kodrm) {
cout << "ris. kopilki with hei="
<< hei<<" wei= "<<wei<<" cvet="<<cvet<<endl;
cout<< " It is ";
for(int j=0; j<strlen(nazv);j++) cout<<nazv[j];
cout<<endl; if( kodrm==1) cout<< "ris. ramki"<<endl;
}
//- - - - - - - - - - - - - - - -
void Tkplk::add (int kop) {
sum +=kop; }
//- - - - - - - - - - - - - - - -
Tkplk::Tkplk ( int he=10, int we=10, int cv=10,char *nz="cat" )
{ sum=0; hei=he; wei=we;
cvet=cv;
for (int m=0; m<=strlen(nz); m++) nazv[m]=nz[m];
// <= for last symbol '\0'
}
// - - - - - - - - - - - - -
void main() {
Tkplk myKplk1, myKplk2(15,15,15,"tiger");
cout<< " myKplk1.hei="<<myKplk1.hei <<endl;
cout<< " myKplk2.hei="<<myKplk2.hei <<endl;
cout<< " strlen(myKplk2.nazv)="<<strlen (myKplk2.nazv);
cout<<endl;
myKplk1.show(1); myKplk2.show(0);
cout<<"end show"<<endl;
myKplk2.add(50); myKplk2.add(30);
myKplk1. dzin(); // cout<<myKplk1.sum;
myKplk2.dzin(); getch();
}
// - - - - - - - - - - --
15.6 Заключение к лекции 15
1. Класс содержит данные, методы и конструкторы, причем любая часть или любая пара
из этих трех частей может отсутствовать.
2. Обычно методы, т.е. принадлежащие классу функции, записываются вне
определения класса с указанием полного имени
тип_функц класс : : функц ( аргументы) { . . . текст функции . . . }
В этом случае наличие прототипа функции внутри определения класса обязательно.
Это правило относится и к конструкторам класса.
3. Для работы с элементами класса должны быть созданы объект или объекты
этого класса. Обращение к элементу записывается с именем объекта или с указателем
на объект.
Лекция 16 Наследование и полиморфизм
Эти принципы ООП уже рассматривались кратко в разделе 14.3. Повторим их и рассмотрим примеры использования.
- 10.3 Операторы управления
- 10. 4 Оператор мультиветвления switch
- 10.6 Применение функции printf для форматирования
- 11.1 Графические программы
- 11.2 Построение символьного графика
- 11.4 Построение графика в графическом режиме
- 12.1 Передача данных для построения графика в MathCad
- 12.4 Указатели
- 12.5 Описание указателей
- 12.6 Указатели для массивов и строк
- 13.3 Оператор динамического выделения памяти new
- Void main ( ) {
- Void tab( ); };
- Void main ( ) {
- 15.1 Класс объектов, элементы класса
- 15.2 Доступ к элементам класса
- 15.3 Вызов элементов класса
- 15.4 Конструкторы классa
- 15.5 Пример класса Tkplk
- 16.1 Наследование
- 16.2 Полиморфизм
- 16.3 О перегрузке функций и операций
- 17. 1 Среда программирования и библиотека vcl
- 17.2 Консольное приложение в Builder
- При выполнении лабораторных работ в дисплейном классе используется
- 17.5 Вид экрана в builder
- 17.6 Работа с проектом в системе Builder
- 18.1 Редактор кода
- 18.4 Пример запроса, ввода, вывода для Win -программы