Содержание
- 2. Технологии программирования Процедурное программирование (с 1957 г., Фортран, Алгол-60 и др); Структурное программирование (начало 70-х, Паскаль,
- 3. Процедурное программирование заключается в разработке набора функций (алгоритмов) для решения поставленной задачи. Для поддержки этой парадигмы
- 4. Пример модуля (Си): // Student.h #ifndef STUDENT_H #define STUDENT_H #define MIN_AGE 12 // Константы #define MAX_AGE
- 5. Пример модуля (Си): // Student.c #include "Student.h" // определения функций int InputDataStudent(TStudent* S){ //... } void
- 6. Объектно-ориентированное программирование развивает идеи модульного программирования по объединению структур данных и алгоритмов их обработки. Основными элементами
- 7. Синтаксис объявления класса в С++: class имя_класса { [private:] // объявление закрытых полей данных и //
- 8. Синтаксис объявления класса в С++: ключевое слово class, за которым следует открывающаяся фигурная скобка, после которой
- 9. Пример 1: // cat.h // объявление класса Cat class Cat { private: int age; // возраст
- 10. // cat.cpp #include "cat.h" #include using namespace std; // определение метода Meow() класса Cat void Cat::Meow()
- 11. Пример 1: в классе Cat поля данных age и name объявлены в секции private. Клиенты класса
- 12. Конструктор – метод класса, который автоматически вызывается после выделения памяти под объект (после создания объекта). Деструктор
- 13. Конструктор используется для инициализации полей объекта, а также для выделения памяти для динамических полей объекта (т.
- 14. Пример 2: // cat.h // объявление класса class Cat { private: int age; // возраст char
- 15. // cat.cpp #include "cat.h" #include #include using namespace std; // определение методов класса Cat::Cat(){ strcpy(name, "Cat");
- 16. Варианты создания статического объекта: - имя_класса имя_объекта; - имя_класса имя_объекта(список параметров конструктору); Варианты создания динамического_объекта: -
- 17. На основе класса в программе создаются экземпляры этого класса (объекты). В зависимости от способа создания объекта
- 18. Продолжение примера 2: // main.cpp #include "cat.h" int main() { Cat Cat1; //статический объект, вызывается //
- 19. Состав проекта и пример выполнения программы примера 2: *
- 20. Конструктор копирования Варианты вызова конструктора копирования: AnyClass ob2 = ob1;//ob1 явно инициализирует ob2 Func1(ob1); //ob1 передается
- 21. Конструктор копирования вызывается в трех случаях: когда в операторе объявления один объект используется для инициализации другого;
- 22. Конструктор копирования, заданный по умолчанию (неявно), выполняет поэлементное копирование значений нестатических полей класса. При этом выполняется
- 23. Пример 3: // cat.h // объявление класса class Cat { private: int age; // возраст char*
- 24. // cat.cpp #include "cat.h" #include #include using namespace std; // определение методов Cat::Cat() { name=new char[2];//выделяем
- 25. char* Cat::getName() {return name;} void Cat::setName(const char* Name) {int leng=strlen(Name); //выч.длины имени name=new char [leng+1];//выделяем память
- 26. //определение конструктора копирования Cat::Cat(const Cat &c) {int leng=strlen(c.name);//выч-е длины имени name=new char[leng+1]; //выд-е памяти для копии
- 27. // main.cpp #include "cat.h" Cat NoName(Cat& cat) { Cat temp(cat); temp.setName("NoName"); return temp;} void view(Cat cat)
- 28. Состав проекта и пример выполнения программы примера 3: *
- 29. * Способы создания массива объектов 1. Cat Family1[5]; //статический массив объектов // класса Cat - для
- 30. Пример 4. // main.cpp #include "cat.h" #include using namespace std; int main() { Cat Family1[5]; //
- 31. Пример 5. // main.cpp #include "cat.h" #include using namespace std; int main() {Cat* Family2 = new
- 32. Пример 6. // main.cpp #include "cat.h" #include using namespace std; int main() { Cat* Family3[5]; //
- 33. * Примеры использования инициализаторов для инициализации объектов 1. Cat Family1[3] = { Cat("Пушок1", 3), Cat("Мурзик", 5),
- 35. Скачать презентацию