Добавление классов, функций - членов и элементов данных класса в консольное приложение Win 32 (Лабораторная работа № 2 по VISUALC++ 2005)

Страницы работы

Содержание работы

Лабораторная работа №2 по VISUALC++ 2005

« Добавление классов, функций - членов и элементов данных класса в консольное приложение Win 32 »

1 Задание

 Создать проект консольного приложения Win 32.

В него добавить класс «Букет» с элементами данных: название, количество цветков в букете, стоимость одного цветка, стоимость букета.

Предусмотреть функции-члены: для ввода значений элементов-данных с клавиатуры, для расчёта стоимости букета  и для вывода значений всех элементов-данных на экран.

В главной функции описать объект класса и реализовать вызов всех членов-функций.

2 Общие указания

          Рассмотрим конкретный пример.

 Пусть создано консольное приложение Win32 с именем lab2a (см. лабор.работу №1). Ставится задача добавить

в него класс man с элементами данных:

char*name; //имя

int days; //количество отработанных дней

float rascenka; //сколько гривен за день

float zarplata;

Предусмотреть функции – члены (методы);

void getinfo(); // Ввод элементов данных

void calculation(); //Расчёт зарплаты

void putinfo(char*); // Вывод на экран всех элементов данных

В главной функции описать объект класса man и реализовать вызов методов класса.

          Необходимо выполнить ряд действий.

1) Выбрать вкладку Solution Explorer.

2) Навести курсор на имя решения lab2a и выделить его.

3) Нажать правую кнопку мыши. В открывшемся меню выбрать Add Class.

4) В появившимся окне Add Class – Lab2a выбрать категорию C++.

Шаблон(templates) автоматически установится на C++ Class.

5) Нажать кнопку Add.

           Появится окно Generic C++ Class Wizard – lab2a.

В окне Class name ввести имя man. Одновременно получат такое же имя  .hfile и  .cppfile. в окне Base Class(базовый класс) ничего не указыватm, так как класс man не является производным.

В окне Access (доступ) оставить public.

Нажать Finish.

7) Убеждаемся, что в файле man.h появилось описание класса man. Для этого выбрать вкладку Solution... щёлкнуть на знак « +»  напротив изображения папки Header Files. Раскроется содержимое этой папки. Щёлкнуть дважды на файле man.h.

В окне редактора появится текст

#pragma once

class man

{

public:

man(void);

public:

~man(void);

};

8) Щёлкнуть дважды на файле man.cpp.

В нём текст:

#include “stdAfx.h”

#include “man.h”

 man::man(void) //Пустой конструктор

{

}

man::~man(void) //Пустой деструктор

{

}

          9) В класс man добавим элементы данных. Это можно было бы сделать самостоятельно. Однако лучше использовать меню.

Для этого:

·  Выделить вкладку Class View.

·  Щёлкнуть на «+» напротив lab2a. Откроется содержимое.

·  Щёлкнуть на значке «+»напротив Classes. Раскроется список имеющихся классов. В этом списке один только класс man.

·  Выделить класс man  и нажать правую кнопку мыши. В раскрывшемся меню выбрать Add Variable. Появится окно Add Member Variable Wizard-lab2a.

·  В окне Access выбрать доступ private.

·  В окне variable type  ввести    char*.

·  Имя name ввести в окне variable name.

·  Нажать Finish.

Подобным образом ввести и остальные элементы данных.

          10) В классе man  добавить функции – члены (методы). Для этого по-прежнему выделить класс man   и правой кнопкой мыши вызвать контекстное меню.

Выбрать Add Function.

Появится окно      Add Member Function Wizard – lab2a.

          Заполнить окна: Return type (тип возвращаемого результата), Function name, Parameter type (тип параметра), Parameter name. Если функция без параметров, в окне Parameter type вводить void. При этом окно Parameter name остается пустым. Если же у функции есть один и более параметров, то вводится тип первого параметра, его имя и нажимается Add. После этого вводится тип и имя второго параметра и снова нажимается Add. В окне Access устанавливается метка доступа. По умолчанию это public.

 Нажать Finish.

Так, например, для void putinfo(char*imja) в окно Parameter type вводим char*, а в Parameter name – imja.

 Нажимаем Add, а затем Finish.

          11) Переходим на вкладку Solution и раскрываем файл man.h.

Если он есть в списке вверху окна редактирования, то следует просто щёлкнуть на нём.

Убеждаемся, что в файле man.h имеются заголовки членов-функций и элементы данных класса man вместе с метками доступа.

          12) Раскрываем файл man.cpp. Обнаруживаем, что все элементы данных в конструкторе инициализированы нулями:

man::man(void):name(NULL), days(0), rascenka(0), zarplata(0)

{

}

          13)Теперь необходимо самостоятельно определить содержимое членов-функций класса man, заполняя их в файле man.cpp.

При необходимости можно описывать и использовать в них локальные переменные. Заполняем член-функцию getinfo().

void man::getinfo()

{

name=new char[12];

cout<<”Enter name”<<endl;

cin>>name;

cout<<”Enter days”<<endl;

cin>>days;

count<<”Enter rascenka”<<endl;

cin>>rascenka;

}

Далее заполняем остальные методы.

void man::calculation()

{

zarplata=days*rascenka;

}

void man::putinfo(char*imja)

{

cout<<”For object”<<imja<<” name=”

<<name<<”  days=”<<days<<”  rascenka=”

<<rascenca<<”  zarplata=”<<zarplata<<endl;

}

          Для того, чтобы работали cin и cout, следует в файл man.cpp добавить

#include<iostream>

using namespase std; //Описание пространства имён.

          14) Теперь необходимо заполнить главную функцию _tmain().

Для этого на вкладке Solution выбрать файл lab2a.cpp и дважды щёлкнуть на нём.

Добавить в него

#include “man.h”

Иначе появится ошибка: «man undeclared identifier» (man – необъявленный идентификатор).

          В главной функции определим объект slesar, который будет работать с функциями-членами.

{

 man slesar;

slesar.getinfo();

slesar.calculation();

slesar.putinfo(“slesar”);

}

          15) Строим и запускаем программу.

Напомним, что это можно сделать, нажав Ctrl+F5 или с помощью меню Build → Build Solution и затем (если нет ошибок)  Debug → Start Without Debugging.

3 Контрольные вопросы

1. Как создать проект консольного приложения Win 32?

2. Как добавить в проект класс?

3. Как ввести в класс элементы данных?

4. Как ввести в класс члены-функции?

5. Какое расширение у файла, в котором описаны класс, элементы  данных и члены-функции и как его раскрыть?

6. Какое расширение у файла, в котором определены члены-функции класса и как его раскрыть?

7. В каком файле находится главная функция и как его раскрыть? Зачем в этом файле директива #include “*.h”?

Список литературы

1 Айвор Хортон  VISUAL C++ 2005 Базовый курс, «Диалектика», Москва*Санкт-Петербург*Киев , 2007г.

2 Сергеев А.П., Терен А.Н. Программирование в VISUAL C++ 2005 «Диалектика», Москва*Санкт-Петербург*Киев , 2006г.

Похожие материалы

Информация о работе

Тип:
Методические указания и пособия
Размер файла:
46 Kb
Скачали:
0