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;
}
Виконав та протестував проект.
Копія вікна виконання програми:
Частина 2
Створив проект типу Win32 Console Application.
Додав до нього клас myC
До файлу специфікації myC.h додала наступний код
class myC
{
public:
myC();
virtual ~myC();
double method1(int p,int k);
double method2(double x);};
До файлу реалізації 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;
}
До головної функції програми додав наступний код
// 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;
}
Копія вікна виконання програми
Висновок: Під час виконання лабораторної роботи я навчився створювати, обробляти створені мною класи, проектувати методи класу та використовувати ці методи у програмі.
Лабораторна робота № 5-6
Проектування функцій-членів класу, призначених для встановлення та отримання значень полів (приховування інформації), використання конструктору за замовчуванням і деструктору
Мета: спроектувати, відлагодити та протестувати розроблені функції-члени класу, використати розроблені методи для роботи з об’єктами класу.
Хід роботи
Частина 1
Створив проект типу Win32 Console Application.
Додав до нього клас CBook
До файлу специфікації 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 ) ;};
До файлу специфікації 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 ;
}
До головної функції програми додав наступний код
// lab5.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
using namespace std ;
#include "Book.h"
#include <stdlib.h>
void view ( char*, CBook& ) ;
