Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторна робота 2 ДОСЛІДЖЕННЯ ОПИСУ ТА ВИКОРИСТАННЯ КЛАСІВ 2 Мета роботи- вивчити опис класів

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.5.2024

Лабораторна робота 2

ДОСЛІДЖЕННЯ ОПИСУ ТА ВИКОРИСТАННЯ КЛАСІВ 2

Мета роботи: вивчити опис класів. Навчитися створювати, використовувати та знищувати об’єкти класів.

Завдання:

  1.  Вивчити опис класу в мові програмування С++.
  2.  Вивчити механізми створення використання та знищення об’єктів класів в мові програмування С++.
  3.  Вивчити опис класу в мові програмування С#.
  4.  Вивчити механізми створення використання та знищення об’єктів класів в мові програмування С#.
  5.   Напишіть програму на мові С++ для дослідження опису та використання класу (табл. 1).
  6.  Напишіть програму на мові С# для дослідження опису та використання класу (табл. 1).

ТЕОРЕТИЧНІ ВІДОМОСТІ

Опис класу С++:

<опис класу> ::= class <позначка класу>  {<тіло класу>};

<тіло класу> ::= {private:} <закритий елемент>

         public:  <відкритий елемент>

        {protected:}  <захищений елемент>

<позначка класу> ::= <ідентифікатор>

<закритий елемент> ::=  <опис змінної> | <опис функції> |

     <опис прототипу функції> |   <опис статичної змінної>

<опис статичної змінної> ::= static <опис змінної>

<відкритий елемент> ::= <конструктор> | <деструктор> |

       <опис змінної> | <метод> |

       <опис прототипу методу> |

       <метод типу static> | <метод типу const>

<захищений елемент> ::= <опис змінної> | <опис функції> |

        <опис прототипу функції>

<конструктор> ::= <позначка класу>

       ({<список формальних параметрів>}0)

       {<тіло конструктора>}

<тіло конструктора> ::= <тіло закритої підпрограми>

<деструктор> ::= ~<позначка класу> ( ) {<тіло деструктора>}

<тіло деструктора> :: = <тіло закритої підпрограми>

<метод> ::= <опис функції>

<опис прототипу методу> ::= <опис прототипу функції>

<метод типу static> ::= static <метод>

<метод типу const> ::= <позначка типу результуючого значення> 

 <позначка методу> ({<список формальних параметрів>}0)  const

<тіло методу>

Опис класу слід виконувати в окремому заголовковому файлі .h а опис методів у файлі .сpp

Наприклад:

//file cat.h

#include <iostream>

class Cat

{

public:

Cat (int);

~Cat();

 int GetAge() const;

 void SetAge ( int );

 void Meow();

private:

 int itsAge;

};

//file cat.cpp

#include "cat.h"

using namespace std;

int Cat::GetAge() const 

{

 return itsAge;

}

void Cat::SetAge ( int age )

{

itsAge = age;

}

void Cat::Meow()

{

cout << "Meow.\n";

}

Cat::Cat(int initialAge) //constructor

{

itsAge = initialAge;

}

Cat::~Cat() //destructor, takes no action

{

}

Використати даний клас можна наступним чином:

// TestСat.сpp

#include <iostream>

#include "cat.h"

using namespace std;

int main()

{

Cat Vaska(3);

 

 //Vaska.SetAge(18);

cout << "Age: " << Vaska.GetAge() << "\n";

 int a;

cin>>a;

 return 0;

}

Опис класу С#:

<опис класу> ::= class <позначка класу>  {<тіло класу>}

<тіло класу> ::= {private <закритий елемент>} 

       {public  <відкритий елемент>}

       {protected  <захищений елемент>} 

<позначка класу> ::= <ідентифікатор>

<закритий елемент> ::=  <опис змінної> | <опис функції> |

     <опис статичної функції> |   <опис статичної змінної>

<опис статичної змінної> ::= static <опис змінної>

<відкритий елемент> ::= <конструктор> | <деструктор> |

       <опис змінної> | <метод>|

       <метод типу static>  

<захищений елемент> ::= <опис змінної> | <опис функції> |

    

<конструктор> ::= <позначка класу>

       ({<список формальних параметрів>}0)

       {<тіло конструктора>}

<тіло конструктора> ::= <тіло закритої підпрограми>

<деструктор> ::= ~<позначка класу> ( ) {<тіло деструктора>}

<тіло деструктора> :: = <тіло закритої підпрограми>

<метод> ::= <опис функції>

<метод типу static> ::= static <метод>

<метод типу const> ::= <позначка типу результуючого значення> 

 <позначка методу> ({<список формальних параметрів>}0)  const

<тіло методу>

Опис класу слід виконувати в окремому від головної програми .cs файлі. Наприклад:

//program.cs

using System;

namespace catProject

{

   class Program

   {

       static void Main(string[] args)

       {

           Cat vaska = new Cat(3);

           vaska.setAge(8);

           Console.WriteLine("Age of a cat: ");

           Console.WriteLine( vaska.getAge() );

           vaska.meow();

           int a;

           Console.ReadLine();

       }

   }

}

//cat.cs

using System;

namespace catProject

{

   class Cat

   {

       private int itsAge;

       public Cat( int initialAge )

       {

           itsAge = initialAge;

       }

       ~Cat()

       {

           Console.WriteLine("Killing Cat");

       }

       public int getAge()

       {

           return itsAge;

       }

       public void setAge(int age)

       {

           itsAge = age;

       }

       public void meow()

       {

           Console.WriteLine("MEOW - MEOW!");

       }

   }

}

МЕТОДИЧНІ ВКАЗІВКИ

Клас та клієнт, що його використовує розробити в MS VisualStudio в різних проектах. Виконуючи завдання на С++ скомпілювати реалізацію методів класу в статичну бібліотеку .lib та підключити її до проекту по розробці клієнта. Виконуючи завдання на С# скомпілювати файл класу в динамічну бібліотеку .dll та підключити до її до проекту по розробці клієнта

ВАРІАНТИ ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ 2

Таблиця 1

№ варіанта

Опис класу

Завдання

Клас

Опис складових членів

1

Масив цілих чисел

Вказівник на масив, конструктор з параметрами (кількість елементів масиву), деструктор, метод перемішування масиву випадковим чином, метод знаходження суми всіх елементів, метод, що повертає довжину масиву

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

2

Рядок

Вказівник на масив, конструктор з параметрами, деструктор, метод транслітерації рядка з кирилиці, метода, що повертає кількість символів в рядку, що співпадають з даним, метод що заміняє пробіли знаком підкреслення.

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

36

3

Масив з плаваючою крапкою

Вказівник на масив, конструктор з параметрами (кількість елементів масиву), деструктор, метод сортування масиву, метод знаходження добутку всіх елементів, метод, що повертає кількість елементів, що менше заданого числа

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

4

Рядок

Вказівник на масив, конструктор з параметрами, деструктор, метод транслітерації рядка з латині, метода, що повертає кількість цифр в рядку, метод що заміняє голосні літери знаком підкреслення.

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

5

Масив цілих чисел

Вказівник на масив, конструктор з параметрами (кількість елементів масиву), деструктор, метод видалення кожного другого елементу масиву, метод знаходження середнього арифметичного всіх членів, метод, що повертає кількість елементів, що більше заданого числа

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

6

Рядок

Вказівник на масив, конструктор з параметрами, деструктор, метод, що повертає частину рядка вказаної довжини починаючи з вказаної позиції, метод, що повертає 2 рядки що є результатом розділення вихідного в казаному місці.

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

7

Масив цілих чисел

Вказівник на масив, конструктор з параметрами (кількість елементів масиву), деструктор, метод видалення кожного символу, що не є літерою чи числом, метод, що повертає копію масиву, метод, що повертає найбільше число масиву

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

8

Рядок

Вказівник на масив, конструктор з параметрами, деструктор, метод, що заміняє заданий підрядок в рядку на інший заданий рядок , метод, що переводить рядок до верхнього регістру

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

9

Масив цілих чисел

Вказівник на масив, конструктор з параметрами (кількість елементів масиву), деструктор, метод що порівнює масив з даним(інший масив передається в метод як параметр), метод, що повертає результат чи більше дане число ніж сума всіх елементів масиву, метод, що повертає найменше число масиву

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

10

Рядок

Вказівник на масив, конструктор з параметрами, деструктор, метод, що приєднує до вихідного рядку даний рядок, що переданий як параметер, метод, що переводить рядок до нижнього регістру

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

11

Масив чисел з плаваючою крапкою

Вказівник на масив, конструктор з параметрами (кількість елементів масиву), деструктор, метод що повертає новий масив в 2 рази коротший за вихідний, кожен з елементів є сума 2-х елементів вихідного, метод знаходження різниці сум першої та другої половини масиву, метод, що віднімає від кожного елемента масиву середнє арифметичне.

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

12

Рядок

Вказівник на масив, конструктор з параметрами, деструктор, метод, що пересуває символи рядка вправо на вказану кількість символів, метод що вставляє між кожним символом заданий символ.

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту

13

Масив цілих чисел

Вказівник на масив, конструктор з параметрами (кількість елементів масиву), деструктор, метод, що повертає що двійкове значення даного елемента масиву, метод очищення масиву.

Описати клас, об’єкт; вивести дані об’єкту; протестувати методи створеного об’єкту




1. О Русь, взмахни крылами, Поставь иную крепь!
2. Реферат- Законность и правопорядок
3. Макрос Ул
4. По условиям Островского соглашения 1392 г
5. статья посвящена только внебольничной П
6. Вакханалия Греки и иррациональное
7. типично американскую.html
8. Илмари Рантамала
9. Тема 13. Первая помощь при отравлениях и ядовитых укусах
10. Определение функционального состояния нервной системы
11. устаревшие слова архаизмы историзмы причинами устаревания слов Помочь определить роль уст
12. Тема 10 Право общей собственности
13. Конструирование узлов и деталей машин
14. Биогенные элементы
15. IКіріспе II
16. Бескорыстный бомбардировать вдвоём винегрет втридорога пантеон привилегированный компаньон визжать
17.  ВЛИЯНИЕ АНТРОПОГЕННОГО ВОЗДЕЙСТВИЯ НА ОКРУЖАЮЩУЮ СРЕДУ По современной оценке доля антропогенного возде
18. ЗагидуллинаФ
19. Алгоритм 67 класс При выполнении заданий в бланке ответов под номером каждого задания поставьте знак Х
20. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата медичних наук Харків~