Nikolay Kirov
Teaching [bg]
Courses in 2010/2011 academic year

NETB181 Object Oriented Programming Project

NEW Timetable for presentations NEW
Presentations: 13.07, 16:10, 214-1
Task for NETB181 Object-Oriented Programming Project:
Prepare a presentation in 5-10 minutes with 5-15 slides in pdf or html format. The presentation must include: definitions, assertions, source codes of short positive and negative examples, etc.

The topics are sections from Deitel&Deitel book:
H.M. Deitel, P.J. Deitel, C++ How to Program, International 4th ed. , Prentice Hall, 2003 (slides),
Call Number:   Ч 681.325.3 / D 33
H.M. Deitel, P.J. Deitel, C++ How to Program, Sixth edition, Deitel & Associates, Inc. 2008.

List of students

List of projects:

Chapter 7: Classes Part II

7.2 const (Constant) Objects and  const Member Functions

7.4 friend Functions and friend Classes
7.5 Using the this Pointer

7.7 static Class Members
7.10 Proxy Classes

Chapter 8: Operator Overloading

8.2 Fundamentals of Operator Overloading
8.3 Restrictions on Operator Overloading

8.4 Operator Functions as Class Members vs. as friend Functions
8.5 Overloading Stream-Insertion and Stream-Extraction Operators

8.6 Overloading Unary Operators
8.7 Overloading Binary Operators

Chapter 9: Inheritance

9.2 Base Classes and Derived Classes
9.3 protected Members
9.4 Relationship between Base Classes and Derived Classes

9.8 public, protected and private Inheritance

Chapter 10: Virtual Functions and Polymorphism

10.8 Virtual Destructors

Chapter 11: Templates

11.2 Function Templates
11.3 Overloading Function Templates

11.5 Class Templates and Nontype Parameters
11.6 Templates and Inheritance

11.7 Templates and Friends
11.8 Templates and static Members

Chapter 12: C++ Stream Input/Output

12.2 Streams
12.3 Stream Output

12.4 Stream Input
12.5 Unformatted I/O with read, gcount and write

12.6 Introduction to Stream Manipulators
12.7 Stream Format States and Stream Manipulators

12.8 Stream Error States
12.9 Tying an Output Stream to an Input Stream

Chapter 13: Exception Handling

13.6 Exception Specifications
13.7 Processing Unexpected Exceptions

13.8 Stack Unwinding
13.9 Constructors, Destructors and Exception Handling
13.10 Exceptions and Inheritance

13.11 Processing new Failures
13.12 Class auto_ptr and Dynamic Memory Allocation

13.13 Standard Library Exception Hierarchy

Chapter 21: Standard Template Library

Sequence Containers

21.2.1 vector Sequence Container

21.2.2 list Sequence Container

21.2.3 deque Sequence Container

Associative Containers

21.3.1 multiset Associative Container

21.3.2 set Associative Container

21.3.3 multimap Associative Container

21.3.4 map Associative Container

Container Adapters

21.4.1 stack  Adapter

21.4.2 queue Adapter

21.4.3 priority_queue Adapter


21.5.1 fill, fill_n, generate and generate_n
21.5.2 equal, mismatch and lexicographical_compare

21.5.3 remove, remove_if, remove_copy and remove_copy_if
21.5.4 replace, replace_if, replace_copy and replace_copy_if
21.5.5 Mathematical  Algorithms

21.5.6 Basic Searching and  Sorting Algorithms

21.5.7 swap, iter_swap and swap_ranges
21.5.8 copy_backward, merge, unique and reverse
21.5.9 inplace_merge, unique_copy and reverse_copy

21.5.10 Set Operations
21.5.11 lower_bound, upper_bound and equal_range

21.5.12 Heapsort

21.6 Class  bitset

21.7 Function   Objects

Chapter 22: Other Topics

22.2 const_cast Operator
22.3 reinterpret_cast Operator

22.4 namespaces

22.5 Operator Keywords
22.6 explicit Constructors

22.7 mutable Class Members
22.8 Pointers to Class Members (.* and ->*)

22.9 Multiple Inheritance
22.10 Multiple Inheritance and virtual Base Classes