Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра електронних
обчислювальних машин
Звіт
про виконання лабораторної роботи № 1
з курсу „ Об'єктно-орієнтоване програмування ”
Тема:
Наслідування.
Львів – 2004
Мета роботи: Познайомитися з середовищем MS Visual C++ 6.0, навчитись створювати програми, що містять класи і об’єкти, і використовувати наслідування.
Опис програми
Програма реалізує суматор і помножувач цілих чисел на основі об’єктно-орієнтованої моделі. При побудові структури класів використане наслідування : класи суматора і помножувача наслідують змінну і функції спільного батьківського класу.
Структура програми
Діаграма класів:
Вміст файлів
// main.cpp: main() method implementation.
#include "iostream.h"
#include "Add.h"
#include "Mul.h"
void main ()
{
CAdd Sumator; // Створення об’єкту Sumator класу CAdd
Sumator.vSave(99); // Виклик функції vSave() об’єкту Sumator
cout << Sumator.iLoad() << " + ";
int z; // Оголошення глобальної змінної
cin >> z; // Ввід числа
Sumator.vAdd(z); // Виклик функції vAdd() об’єкту Sumator
cout << " = " << Sumator.iLoad() << "\n\n";
CMul X; // Створення об’єкту X класу CMul
X.vSave(11); // Виклик функції vSave() об’єкту X
cout << X.iLoad() << " * ";
cin >> z; // Ввід числа
X.vMul(z); // Виклик функції vMul() об’єкту X
cout << " = " << X.iLoad() << "\n\n";
}
// Global.h: interface for the CGlobal class.
// CGlobal – батьківський клас для класів CAdd і CMul.
// Містить змінну та функції для її збереження/завантаження.
#if !defined(AFX_GLOBAL_H__1FEE1FD1_11E9_11D9_BB4E_00C0262B607B__INCLUDED_)
#define AFX_GLOBAL_H__1FEE1FD1_11E9_11D9_BB4E_00C0262B607B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CGlobal
{
public:
CGlobal();
void vSave(int x); // Оголошення функції vSave()
int iLoad(); // Оголошення функції iLoad()
int m_pReg; // Оголошення цілочисельної змінної m_pReg
virtual ~CGlobal();
};
#endif // !defined(AFX_GLOBAL_H__1FEE1FD1_11E9_11D9_BB4E_00C0262B607B__INCLUDED_)
// Global.cpp: implementation of the CGlobal class.
#include "Global.h"
// Construction/Destruction
CGlobal::CGlobal() { }
CGlobal::~CGlobal() { }
// Implementation of functions
void CGlobal::vSave(int x) // Функція збереження – присвоює змінній
{ // m_pReg значення свого аргументу.
m_pReg = x;
}
int CGlobal::iLoad() // Функція завантаження – повертає
{ // значення змінної m_pReg.
return m_pReg;
}
// Add.h: interface for the CAdd class.
// CAdd – "пристрій-суматор", клас-нащадок класу CGlobal.
#if !defined(AFX_ADD_H__0D2062B1_06E9_11D9_BB41_00C0262B607B__INCLUDED_)
#define AFX_ADD_H__0D2062B1_06E9_11D9_BB41_00C0262B607B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Global.h"
class CAdd : public CGlobal
{
public:
CAdd();
void vAdd(int x);
virtual ~CAdd();
};
#endif // !defined(AFX_ADD_H__0D2062B1_06E9_11D9_BB41_00C0262B607B__INCLUDED_)
// Add.cpp: implementation of the CAdd class.
#include "Add.h"
// Construction/Destruction
CAdd::CAdd() { }
CAdd::~CAdd() { }
// Implementation of functions
void CAdd::vAdd(int x) // Функція додавання – збільшує значення змінної
{ // m_pReg на значення свого аргументу.
m_pReg += x;
}
// Mul.h: interface for the CMul class.
// CMul – "пристрій-перемножувач", клас-нащадок класу CGlobal.
#if !defined(AFX_MUL_H__A35262D3_0C69_11D9_BB48_00C0262B607B__INCLUDED_)
#define AFX_MUL_H__A35262D3_0C69_11D9_BB48_00C0262B607B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Global.h"
class CMul : public CGlobal
{
public:
void vMul(int x);
CMul();
virtual ~CMul();
};
#endif // !defined(AFX_MUL_H__A35262D3_0C69_11D9_BB48_00C0262B607B__INCLUDED_)
// Mul.cpp: implementation of the CMul class.
#include "Mul.h"
// Construction/Destruction
CMul::CMul() { }
CMul::~CMul() { }
// Implementation of functions
void CMul::vMul(int x) // Функція множення – помножує змінну m_pReg
{ // на значення свого аргументу.
m_pReg *= x;
}
Висновок: Виконуючи дану лабораторну роботу, я ознайомився із середовищем програмування Microsoft Visual C++ 6.0, навчився створювати програми, що містять класи і об’єкти, і використовувати наслідування.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!