Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2K_programuvanna / 3 mod / obj / lab2

.cpp
Скачиваний:
25
Добавлен:
19.04.2015
Размер:
1.42 Кб
Скачать
#include <stdio.h>

//Родительский класс
class X{

// Поля х1,х2 не дотупны из вне класса, но будут доступны наследникам класса
protected:
  int x1,x2;

public:

//Конструктор класса
  X(int X1, int X2){
	x1 = X1;
	x2 = X2;
  }
// Деструктор класса
  ~X(){}

// Установка и чтение полей класса
  void set_x1(int value){ x1 = value;}
  int  get_x1()  { return x1;}

  void set_x2(int value){ x2 = value;}
  int  get_x2() { return x2;}

// Установка и чтение полей класса
  void set_all(int X1, int X2){
	x1 = X1;
	x2 = X2;
  }

  void print_all(){
	printf("x1 = %d, x2 = %d", x1,x2);
  }
};


// Класс Y наследуется от Х
class Y : public X{.

// В нем объявлено дополнительное поле
  int x3;

public:

// Конструктор класса У вызывает конструктор класса Х и инициализирует новое поле х3
  Y(int X1, int X2, int X3):X(X1,X2){
	x3 = X3;
  }

  void set_x3(int value){ x3 = value;}
  int  get_x3() { return x3;}

// Эти методы перезагружают методы класса Х
  void set_all(int X1, int X2, int X3){
	x1 = X1;
	x2 = X2;
	x3 = X3;
  }

  void print_all(){
	printf("x1 = %d, x2 = %d,x3 = %d", x1,x2,x3);
  }
  
// Выполение задания курсовой работы
  int run(){
	return x1+x2+x3;
  }

};

void main(){
  Y instance(1,2,3);
  printf("resultat Y(%d,%d,%d).run = %d",
	instance.get_x1(),
	instance.get_x2(),
	instance.get_x3(),
	instance.run());
}
Соседние файлы в папке obj