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

+Pr01:
7.2 const (Constant) Objects and  const Member Functions

+Pr02:
7.4 friend Functions and friend Classes
7.5 Using the this Pointer

+Pr03:
7.7 static Class Members
7.10 Proxy Classes

Chapter 8: Operator Overloading

++Pr04:
8.2 Fundamentals of Operator Overloading
8.3 Restrictions on Operator Overloading

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

+Pr06:
8.6 Overloading Unary Operators
8.7 Overloading Binary Operators

Chapter 9: Inheritance

+Pr07:
9.2 Base Classes and Derived Classes
9.3 protected Members
9.4 Relationship between Base Classes and Derived Classes

+Pr08:
9.8 public, protected and private Inheritance

Chapter 10: Virtual Functions and Polymorphism

+Pr09:
10.8 Virtual Destructors

Chapter 11: Templates

+Pr10:
11.2 Function Templates
11.3 Overloading Function Templates

+Pr11:
11.5 Class Templates and Nontype Parameters
11.6 Templates and Inheritance

+Pr12:
11.7 Templates and Friends
11.8 Templates and static Members

Chapter 12: C++ Stream Input/Output

+Pr13:
12.2 Streams
12.3 Stream Output

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

+Pr15:
12.6 Introduction to Stream Manipulators
12.7 Stream Format States and Stream Manipulators

+Pr16:
12.8 Stream Error States
12.9 Tying an Output Stream to an Input Stream

Chapter 13: Exception Handling

+Pr17:
13.6 Exception Specifications
13.7 Processing Unexpected Exceptions

+Pr:18:
13.8 Stack Unwinding
13.9 Constructors, Destructors and Exception Handling
13.10 Exceptions and Inheritance

+Pr19:
13.11 Processing new Failures
13.12 Class auto_ptr and Dynamic Memory Allocation

+Pr20:
13.13 Standard Library Exception Hierarchy

Chapter 21: Standard Template Library

Sequence Containers

+Pr21:
21.2.1 vector Sequence Container

+Pr22:
21.2.2 list Sequence Container

+Pr23:
21.2.3 deque Sequence Container

Associative Containers

+Pr24:
21.3.1 multiset Associative Container

+Pr25:
21.3.2 set Associative Container

+Pr26:
21.3.3 multimap Associative Container

+Pr27:
21.3.4 map Associative Container

Container Adapters

+Pr28:
21.4.1 stack  Adapter

+Pr29:
21.4.2 queue Adapter

+Pr30:
21.4.3 priority_queue Adapter

Algorithms

+Pr31:
21.5.1 fill, fill_n, generate and generate_n
21.5.2 equal, mismatch and lexicographical_compare

+Pr32:
21.5.3 remove, remove_if, remove_copy and remove_copy_if
21.5.4 replace, replace_if, replace_copy and replace_copy_if
 
+Pr33:
21.5.5 Mathematical  Algorithms

+Pr34:
21.5.6 Basic Searching and  Sorting Algorithms

+Pr35:
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

+Pr36:
21.5.10 Set Operations
21.5.11 lower_bound, upper_bound and equal_range

Pr37:
21.5.12 Heapsort

Pr38:
21.6 Class  bitset

+Pr39:
21.7 Function   Objects

Chapter 22: Other Topics

+Pr40:
22.2 const_cast Operator
22.3 reinterpret_cast Operator

+Pr41:
22.4 namespaces

+Pr42:
22.5 Operator Keywords
22.6 explicit Constructors

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

+Pr44:
22.9 Multiple Inheritance
22.10 Multiple Inheritance and virtual Base Classes