КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Примеры написания программ. Порядок написания программы
Порядок написания программы Шаблоны функций Цель работы 1. Научиться: –писать шаблоны функций; – правильно размещать текст программы в файлах проекта; – знать особенности составления проекта при использовании шаблонов; –вызывать функцию пользователя из функции main; 2. Составить, выполнить и протестировать указанную задачу с помощью компьютера.
Выполняем задание с использованием готового текста проекта по теме «Функции и матрицы».
1. Внимательно прочитать условие задачи и формулировку функций. 2. Для каждой функции: Понять, какое данное мы хотим обобщить; Меняем конкретный тип на параметризованный; Определить, какие данные в функции связаны с параметризованным данным по типу и у них также заменить тип на параметризованный. Замечание. В функции можно, при необходимости, вводить несколько параметризованных типов. 3. Правильно оформить тексты функций пользователя. 4. Правильно оформить прототипы функций. 5. Написать функцию main с вызовом функций пользователя для матриц целого и вещественного типа (убедиться в правильности работы шаблона). 6. Создать проект, учитывая его особенности с использованием шаблонов. Выполнить проект.
Примечание. Вызов функции Rus перед строками-константами с русским текстом осуществляйте самостоятельно.
Задача. Написать функцию-шаблон для вывода двумерного массива на экран.
Функция должна выводить двумерный массив любого типа, следовательно, параметризованный тип выражает тип массива
Программа будет строиться в виде проекта.
Текст заголовочного файла shablon.h будет выглядеть так:
#ifndef SHABLON_H #define SHABLON_H
#include<iostream> //подключение системных средств для using namespace std; //возможности использовать потоки ввода-вывода #include <iomanip>
template <class T> // пишем у каждой параметризованной функции void OutMas(T*p, int n,int m) { int i,j; for (i=0; i<n;i++) { for (j=0; j<m;j++) { cout << setw(5) << *(p+i*m+j); } cout << endl; } return; }
#endif
Текст функции main будет выглядеть так:
#include<iostream> //подключение системных средств для using namespace std; //возможности использовать потоки ввода-вывода #include "shablon.h"
int main (void) { int A[2][3] = {1,2,3,4,5,6}; double B[3][3] = {1.5,2.6,3.7,4.8}; cout << "\n Целый массив:\n"; OutMas(A[0],2,3); cout << "\n Дробный массив:\n"; OutMas(B[0],3,3); return 0; }
Контрольные вопросы и задания
1. Что такое шаблон функции? 2. Как определить, какое данное должно выражаться параметризованным типом? 3. Сколько параметризованных типов может быть у шаблона функции? 4. Может ли объявление параметризованного типа быть в теле функции? 5. Как в таком случае вызывается функция? 6. Как компилятор обрабатывает шаблон функции? 7. Как размещаются шаблоны функций в файлах проекта? Задание
Взять за основу проект по теме «Функции и матрицы». Каждую функцию превратить в шаблон, построить проект и выполнить его для целого и вещественного типа.
Дата добавления: 2014-11-06; Просмотров: 354; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |