Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 9.11.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. доклада приложение 1; сведения об авторах и докладчике приложение 1; 1
2. ой частичной суммой ряда-
3. Принципы международных стандартов финансовой отчетности
4. Habeas Corpus act 1679 г Хабеас корпус акт
5. .4 ТЕОРІЯ I МЕТОДИ ВИЗНАЧЕННЯ I МОДЕЛЮВАННЯ ДИНАМІКИ РЕЛЬЄФУ МОРСЬКОГО ДНА
6. Вариант 1. Метод ВЭЗвертикальное электрическое зондирование
7. З КУРСУ Історія і теорія літературнохудожньої критики для студентів заочної форми навчання освітнь
8. Аудит ефективності діяльності комерційних банків за міжнародними стандартами
9. практикантки ЗОШ ІІІІ ступенів 2 Прилуцької міської ради
10. Поняття та форми державного устрою
11. во цена Пшеничная 20 90 Сто
12. Mldie jeter l~~ponge pr~visible сведение счетов тишина молчаливый с вашей стороны боль
13. Удаленный вызов методом RMI
14. Доклады на английском и немецком языках принимаются в следующие секции- Социальные и гуманитарные и
15. Формирование физической активности молодёжи в семье
16. А як виду спорту; підвищення ефективності навчальноспортивної роботи у спортивних секціях спортивних к
17. Измерение рН и изучение свойств буферных растворов.
18.  Поняття і предмет правового регулювання екологічного права України Екологічне право України це сук
19. Про загальнообов~язкове державне соціальне страхування від нещасного випадку на виробництві та професійно
20. Реферат- Стиль барокко в русском искусстве, архитектуре, литературе и музыке