Будь умным!


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

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

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


Лабораторна робота 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. Тема 11. Общие положения об обязательствах План занятия Понятие и содержание обязательства.html
3. СХЕМЫ СОЕДИНЕНИЯ ТРАНСФОРМАТОРОВ ТОКА И РЕЛЕ по дисциплине Электроснабжение сельского хозяй
4. Общие положения [2] 2
5. Законы психологической защищенности
6. ТЕМА 1 СОЦИАЛЬНОЭКОНОМИЧЕСКАЯ СУЩНОСТЬ МАРКЕТИНГА 1
7. Реферат- Темперамент и личность
8. Малое предпринимательство
9. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ для выполнения курсовой работы по дисциплине Управление персоналом для на.html
10. Социальное поведение медоносных пчел
11. процесс получения неразъемного соединения двух или более деталей из твердых материалов путем их местного п1
12. Ecological problems
13. переоткрыли законы Менделеева что и дало толчок к развитию генетических исследований
14. тема правових соціальноекономічних організаційнотехнічних санітарногігієнічних і лікувальнопрофілакт
15. Использование массажа в коррекционно-логопедической работе с дизартриками
16. На тему- Заемщики юридических лиц коммерческими банками Выполнил-ст
17. Перечень мероприятий направленных на получение сотрудником дополнительных знаний и навыков выполнения ра
18. ТЕМА СОДЕРЖАНИЕ- ВВЕДЕНИЕ ГЛАВА 1
19. Агентство по страхованию вкладов 21 3
20.  В XV в турки завоевав Византию перерезали торговый путь из Европы на Восток