Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт_ООП.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
586.36 Кб
Скачать

Int main(int argc, char* argv[])

{

int d;

myClass *m = new myClass( );

myClass N;

cout << "\nRashet factorial dlja klassa m \n" << endl;

cout << "\nVvedite d\n" << endl;

cin >> d;

cout << "\nFactorial m->factorial(d) = " << m->factorial(d) << endl;

cout << "\nRashet factorial dlja klassa N\n" << endl;

cout << "\nVvedite d\n" << endl;

cin >> d;

cout << "\nFactorial N.factorial(d) = " << N.factorial(d) << endl;

system("pause");

return 0;

}

  1. Виконав та протестував проект.

  2. Копія вікна виконання програми:

Частина 2

  1. Створив проект типу Win32 Console Application.

  2. Додав до нього клас myC

  3. До файлу специфікації myC.h додала наступний код

class myC

{

public:

myC();

virtual ~myC();

double method1(int p,int k);

double method2(double x);};

  1. До файлу реалізації myC.cpp додала наступний код

// myC.cpp: implementation of the myC class.

//

//////////////////////////////////////////////////////////////////////

#include "stdafx.h"

#include "myC.h"

#include <math.h>

#include <iostream>

using namespace std;

myC::myC()

{

}

myC::~myC()

{

}

double myC::method1(int p, int k)

{

double D;

D=p*k;

return D;

}

double myC::method2(double x)

{

double res;

res=(pow(sin(x),2))*x;

return res;

}

  1. До головної функції програми додав наступний код

// lab4.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include "myC.h"

#include <iostream>

#include <math.h>

#include <stdlib.h>

using namespace std;

Int main(int argc, char* argv[])

{

setlocale(LC_ALL,"Ukr");

myC C;

int N=0,i=0,j=0,g=0;

double x=0,Dob=1,dp=1,dk=1;

cout<<" Введiть число N ";

cin>>N;

for(i=1;i<=N;i++)

{

j=i%2;

g=i%3;

if(j==0)

dp=dp*i;

if(g==0)

dk=dk*i;

}

cout<<endl<<"\t Добуток функцiї дорiвнює "<<C.method1(dp,dk)<<endl<<endl;

cout<<" Введiть число x ";

cin>>x;

cout<<endl<<"\t Розв'язок функцiї "<<C.method2(x)<<endl<<endl<<endl;

system("pause");

return 0;

}

  1. Копія вікна виконання програми

Висновок: Під час виконання лабораторної роботи я навчився створювати, обробляти створені мною класи, проектувати методи класу та використовувати ці методи у програмі.

Лабораторна робота № 5-6

Проектування функцій-членів класу, призначених для встановлення та отримання значень полів (приховування інформації), використання конструктору за замовчуванням і деструктору

Мета: спроектувати, відлагодити та протестувати розроблені функції-члени класу, використати розроблені методи для роботи з об’єктами класу.

Хід роботи

Частина 1

  1. Створив проект типу Win32 Console Application.

  2. Додав до нього клас CBook

  3. До файлу специфікації Cbook.h додав наступний код

#pragma once

class CBook

{

private:

char m_author [ 50 ] ; // автор

char *m_pTitle ; // вказівник на назву

int m_year ; // рік видання

public:

CBook(void);

virtual ~CBook(void);

// методи встановлення значень полів

void setAuthor ( const char* ) ;

void setTitle ( const char* ) ;

void setYear ( const int ) ;

// методи повернення значень полів

char* getAuthor ( void ) ;

char* getTitle ( void ) ;

int getYear ( void ) ;};

  1. До файлу специфікації Cbook.cpp додав наступний код

// Book.cpp - реализация класса CBook

#include "stdafx.h"

#include "Book.h"

#include <iostream>

#include <string>

using namespace std ;

// установить автора

void CBook :: setAuthor ( const char* author )

{ cout << "\n работает \t setAuthor \n"<< author<< endl;

m_author [ 0 ] = '\0' ;

strcat(m_author, author);

cout << m_author<<endl;

cout << "\n отработал setAuthor\n"<<endl;

}

// установить название

void CBook :: setTitle ( const char* title )

{

cout << "\n работает setTitle\n"<<endl;

cout << "\nstrlen ( title ) = "<<strlen ( title )<<endl;

cout << "\ntitle = "<< title <<endl;

m_pTitle = new char [strlen ( title )+ 1] ;

m_pTitle [ 0 ] = '\0' ;

strcat(m_pTitle, title);

cout << m_pTitle<<endl;

cout << "\n отработал setTitle\n"<<endl;

}

// установить год издания

void CBook :: setYear ( const int year )

{ m_year = year ; }

// вернуть автора

char* CBook :: getAuthor ( void )

{ return m_author ; }

// вернуть название

char* CBook :: getTitle ( void )

{ return m_pTitle ; }

// вернуть год издания

int CBook :: getYear ( void )

{ return m_year ; }

// конструктор по умолчанию

CBook :: CBook ( ) : m_year ( 0 ), m_pTitle ( " " )

{ m_author [ 0 ] = '\0' ;

cout << "default CONSTRUCTOR\nthis = " << this ;

}

// деструктор

CBook::~CBook()

{

delete [ ] m_pTitle ;

cout << "DESTRUCTOR\t " << this << endl ;

}

  1. До головної функції програми додав наступний код

// lab5.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

#include <iostream>

using namespace std ;

#include "Book.h"

#include <stdlib.h>

void view ( char*, CBook& ) ;