Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции_Классы

.pdf
Скачиваний:
10
Добавлен:
02.06.2015
Размер:
616.21 Кб
Скачать

#define

Определение макроса

 

#undef

Отмена определения макроса

 

#include

Включение Об-заголовка

 

#if

Компил-я, если выражение истинно

 

#ifdef

Компил-я, если макрос определен

 

#ifndef

Компил-я, если макрос не определен

 

#else

Компил-я, если выражение в if ложно

 

#elif

Составная Директ else/if

 

#endif

Оконч-е группы Компил-и по условию

 

#error

выдает сообщение и завершает Комп-ю

 

#pragma

для выдачи дополнительных указаний

Компилятору.

Например, не выдавать предупреждений при Компиляции, или вставить дополнительную И для отладчика. Конкретные возможности директивы #pragma

у разных Компиляторов различные.

Пример:

#ifndef unix

#error "Программу можно компилировать только для unix!«

#endif

Методика отладки П

Категории Ошибок:

Синтаксические Ошибки – выявляются на этапе Компил-и.

Логические Ошибки (алгоритмические) ?!?

Информационные Ошибки – вв/выв, переполнение разрядной сетки К

(тип int …), деление на 0 и др.

Синтаксические Ошибки

Иногда неадекватная реакция Комп-ра: { }, отсутствие скобки обнаруживается через множество строк Кода П.

Рекомендация: набирать { }, а затем вводить строки П.

41

Логические Ошибки (алгоритмические) – наиболее трудно обнаруживать и исправлять, некоторые приводят к тяжелым последствиям

Выявляются Логические Ошибки:

на этапе отладки,

при использовании П.

Методика отладки П

1.Компиляция каждого Файла *.срр;

2.Компиляция и компоновка всех Файлов

*.срр – создание *.ехе-Файла;

3.Обработка сообщений об Ошибках:

Окно Message: “Error”, “Warning”

Устранение логических Ошибок

Использование встроенного Отладчика:

Пошаговое выполнение П;

Просмотр значений переменных

влюбом месте П.

Тестирование П-го Проекта

Тесты готовятся с начала разработки А !

Тест-е с заранее подготовленными наборами Д-примеров:

Нормальный режим, Д:

Граничные случаи,

Исключительные случаи

Требования к тестам:

Набор тестов д.б. достаточным, чтобы показать выполнение всех требований П-го Проекта,

Обеспечить полную проверку П – тест-е всех ветвей, имеющихся в П,

Тесты д.б. простыми, удобными для анализа исходных и выходных Д

42

Репетиционный тест по теме «ООП, классы в С++»

1.Концепции ООП:

_________________________________________________________________________________

2.Способы доступа к элементам класса

_________________________________________________________________________________

3.Если Оо – объект класса ААА, рОо – указатель на Оо, то запишите вызов: public-функции

f ( ) ________________ , вызов Констр-ра________________ , вызов Дестр-ра _______________ , вызов private-функции fun( ) ______________________________________________________

4. Какие из следующих ключевых слов используются только с классами: this,

float, cout,

class,

operator,

extern,

friend,

static,

virtual,

cin,

protected ?

 

 

 

 

 

5.В каком случае производный класс может не иметь Констр-ра ?

6.Запишите прототип функции для перегрузки бинарной Операции «+» в классе ВВВ:

7.Как вызывается виртуальная фун-я ?

8.На какие группы можно разделить ошибки в Программах? Приведите примеры ошибок в этих группах.

9.Укажите средства реализации принципа наименьших привилегий в С++.

43