'

Конструирование программ 19.04.2013

Понравилась презентация – покажи это...





Слайд 0

Конструирование программ 19.04.2013 Алгоритмы (продолжение) + реализация на С/C++: Работа с дробями Реализация класса строка Шаблоны и шаблонные функции Функции-друзья. Уровни доступа: private, public, protected.


Слайд 1

С и С++ отличия Типобезопасность: Для С: #define MAX(a,b) ((a) > (b) ? (a) : (b)) Для C++: template <class T> T MAX(T a, T b){ return a > b ? a : b; }; В C нет перегрузки функций: int abs(int a); double abs(double a); - функции не могут отличаться только типами аргументов. Указатели и ссылки


Слайд 2

Контроль за типами На C: char *str = “TEST”; printf(“%d”, str); // Ошибка времени выполнения На C++: char *str = “TEST”; cout << str << endl; // Тип автоматически определяется


Слайд 3

Рациональные числа Задача:  Определить класс дробей – рациональных чисел, являющихся отношением двух целых чисел. Реализовать перегруженные операции сложения, вычитания, умножения и деления дробей. После выполнения метода дробь должна приводиться к несократимому виду.


Слайд 4

Вспомогательные определения Значение переменной: #define show(x) #x << " = " << x << "  " Проверка утверждения: #define test(x) if(x){ cout << #x << endl; } else { cout << “FAIL ” #x << endl; } НОД:


Слайд 5


Слайд 6

Вывод в поток (перегрузка <<) // Перегрузка операции вывода в поток для класса "Рациональная дробь" ostream& operator << ( ostream& os, const Rat& x ){ return os << x.n << "/" << x.d; };


Слайд 7

Автоматическое форматирование исходного текста программы http://jsbeautifier.org/ - форматирование JavaScript Преимущества: весь код в едином стиле, программисты не делают commit’ов с исправлениями стиля. Недостатки: во многих случаях код нагляднее, если его отформатировать вручную, не применяя общих правил стиля.


Слайд 8


×

HTML:





Ссылка: