Изучение основ объектно-ориентированного программирования в среде Microsoft Developer Studio

Автор работы: Пользователь скрыл имя, 07 Декабря 2013 в 20:28, лабораторная работа

Описание работы

Целью работы является создание приложения на основе принципов объектно-ориентированного программирования в среде Microsoft Developer Studio (Visual C++).
Важнейшие концепции объектно-ориентированного программирования отражены в новом типе данных класс (class), разработанном в языке С++. Классы служат для того, чтобы переменные (свойства класса) и функции для обработки этих переменных (методы класса) объединить в один тип данных. Классы могут предоставить различные права доступа к своим свойствам и методам.

Файлы: 1 файл

Лабор_работа №1.doc

— 86.50 Кб (Скачать файл)

а) количество работников с зарплатой z1;

б) количество работников с зарплатой z2;

в) количество работников с зарплатой z3;

г) величина зарплаты z1;

д) величина зарплаты z2;

е) величина зарплаты z3;

ж) общая зарплата отдела z.

Методы класса:

а) конструктор: присвоение нулевых значений переменным;

б) ввод пользователем  значений z1, z2, z3;

в) ввод пользователем  количества работников с разными зарплатами;

г) вывод пользователем  значений z1, z2, z3;

д) определение и вывод  на экран общей зарплаты отдела.

 

7 Пример решения  типового задания в Microsoft Developer Studio

7.1 Задание

Разработать класс CRectangle, который содержит свойства:

  • левая граница по оси Х (Left);
  • правая граница по оси Х (Right);
  • верхняя граница по оси Y (Top);
  • нижняя граница по оси Y (Bottom)

и методы:

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

Создать файл с основной функцией программы main(), инициализировать объект разработанного класса CRectangle, вызвать  все методы, которые существуют в  этом классе.

7.2 Текст программы

// Файл “rectan.h”

class CRectangle

{ //свойства класса –используется атрибут private,

//следовательно,  их пользователь не сможет  напрямую использовать 

// (вывести  на печать, присвоить им какие-либо  значения …), а только с // использованием методов этого класса, которые должны быть

// описаны  как public для прямого доступа  к ним

private:

int Left; // левая граница по оси Х

int Right; // правая граница по оси Х

int Top; // верхняя граница по оси Y

int Bottom; // нижняя граница по оси Y

public: //чтобы пользователь имел доступ к этим методам класса

CRectangle()     //конструктор

{int _i;       

Left = rand();   //присвоение свойствам случайных значений

Right = rand();

if (Left > Right)   // проверка корректности данных

{_i = Right;

Right = Left;

Left = _i;

}

Top = rand();

Bottom = rand();

if (Bottom > Top)

{_i = Bottom;

Bottom = Top;

Top = _i;

}

}

 

void Init() // метод запроса у пользователя значений свойств прямоугольника

{

cout<<”Enter Left value of rectangle (integer)  ”;

cin>>Left;

cout<<”Enter Right value of rectangle (integer)  ”;

cin>> Right;

cout<<”Enter Bottom value of rectangle (integer) ”;

cin>> Bottom;

cout<<”Enter Top value of rectangle (integer) ”;

cin>> Top;

if (Bottom > Top) // проверка корректности данных

{_i = Bottom;

Bottom = Top;

Top = _i;

}

if (Left > Right)   // проверка корректности данных

{_i = Right;

Right = Left;

Left = _i;

}

}

void Square()  // метод определения площади фигуры

{int _S;

_S = (Right - Left) * (Top - Bottom);

cout<<”Rectangle square is ”<<_S<<endl;

}

void PrintSv()     // вывод на экран значений свойств

{cout<<” Left = “<<Left<<endl;

cout<<”Right = “<<Right<<endl;

cout<<”Top = “<<Top<<endl;

cout<<”Bottom = “<<Bottom<<endl;

}

// компилятор  будет генерировать и вызывать  деструктор по умолчанию

}; //описание класса всегда заканчивается знаком «;»

 

// СОЗДАЕМ  НОВЫЙ ТЕКСОВЫЙ ФАЙЛ, например rectan.cpp

#include <iostream.h>

#include <stdlib.h> // для получения набора псевдослучайных чисел

#include <time.h> //для работы с функцией time(), возвращающей значение

// времени  в момент ее вызова, она необходима для

// получения  разных псевдослучайных 

// чисел при  каждом запуске программы

#include “rectan.h” //присоединяем описание разработанного класса

void main()        //основная функция - тело программы

{ srand((unsigned)time( NULL )); // инициализируем псевдослучайную базу

CRectangle my_rect;   // объявляем объект созданного класса, при этом

//запускается  созданный конструктор CRectangle(),

// описанный  в классе, он  присваивает случайные 

// значения  всем свойствам объекта my_rect

my_rect.PrintSv(); // вывод значений свойств определенного с помощью

// констуктора  прямоугольника

my_rect.Square(); // вывод значения площади определенного с помощью

// констуктора  прямоугольника

cout<<endl<<endl<<endl;  //Отступ

my_rect.Init(); //вызываем функцию для запроса значений свойств у

// пользователя

my_rect.PrintSv(); // печать свойств прямоугольника, введенных

// пользователем

my_rect.Square(); // вычисление и вывод на экран площади

// прямоугольника, свойства которого были введены 

// пользователем

}

 

7.3 Результаты  работы программы

На рисунке 2.1 приведен результат работы программы.

Рисунок 2.1 – Результат  работы программы

8 Контрольные  вопросы

 

  1. Каковы основные свойства объектно-ориентированного программирования?
  2. Какие свойства имеет разработанный вами класс?
  3. Какие методы содержит разработанный вами класс, какие свойства класса используются в этих методах?
  4. Какие существуют атрибуты доступа к членам класса?
  5. Какие специальные методы класса вы знаете, как они использованы в разработанном вами классе?

 

Список литературы

  1. Шилдт Г. Самоучитель С++. 2-е изд. /Пер. с англ.–СПб.: БХВ-Петербург, 1997. – 512с.
  2. Шилдт Г. Справочник программиста по С/С++: Пер. с англ.: Учебное пособие. – М.: Издательский дом «Вильямс», 2000. – 448с.
  3. Страуструп Б. Язык программирования С++ (2–ред.) /Пер. с англ. – М.:         Радио и связь, 1995. – 352с.
  4. Культин Н.Б. С/С++ в задачах и примерах. – СПб.: БХВ- Петербург, 2001. – 288с.
  5. Буч Г. Объектно – ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. – М.: "Издательство Бином", СПб.: "Невский диалект", 1998. – 258с.
  6. Дерк Луис. С и С++. Справочник/ Пер. с нем. – М.: Восточная книжная компания, 1997. – 592с.
  7. Visual C++ 5.0. Руководство разработчика.: Пер. с англ./ Д. Беннет, С. Маконин, В.В. Мейфилд и др. – К.; М.; СПб.: Диалектика, 1998. – 768с.



Информация о работе Изучение основ объектно-ориентированного программирования в среде Microsoft Developer Studio