[fabacad] Session-1 of C++ concepts

  • From: Saif Abrar <saif.abrar@xxxxxxxxxxx>
  • To: Saif Abrar <saif.abrar@xxxxxxxxxxx>
  • Date: Wed, 6 Sep 2006 16:44:52 +0530

Hello,
In the Session-1 of C++ hi-quality training being conducted by an
IT-professional,
the following concepts were discussed.

Major qualities: a)  Data Abstraction b)  OO Programming c)  Generic
Programming
Encapsulation: Combining code and data it manipulates together in a new
entity.  Polymorphism: Single name used for multiple related but different
purposes.
Inheritance: One class acquiring the properties of another, adding specific
features.
Scope resolution operator: resolves conflict between global and local
variables.
Inline function: is expanded in line when it is invoked
âAccess specifiers/modifiersâ in C++: private, public, protected, friend
âStorage/type qualifiersâ: const, volatile, static, mutable
Mutable member: can be modified even when the object or the method is
const.
Namespace feature: surrounds declarations with unique name to avoid
collisions.
âusingâ declaration: to use a name from a namespace without the scope
operator.
New built-in data types of C++ : bool, wchar_t, string, complex, etc
Create and read binary files in C++: using put() and get() function
Name clash: when a name is defined in more than one place e.g. different
class libs
Some of the object-oriented methodologies:Object Oriented Development(OOD)
    Object Oriented Analysis and Design(OOAD), Object Modelling
Techniques(OMT),
    Object Oriented Software Engineering(Objectory) Object Oriented
Analysis  (OOA),
     The Fusion Method
Accessor: class operation that does not modify the state of an object.
Modifier: changes the value of at least one data member. Also known as
âmutatorsâ.
Null object: object to indicate that a real object of that class does not
exist.
Differentiate between the message and method.
          Message
Method
Objects communicate by sending messages     Provides response to a message.
to each other.
A message is sent to invoke a method.             It is an implementation
of an operation.
Adaptor/Wrapper: to hide non-compatible interface or a
non-OO-implementation
Class invariant: a condition that defines all valid states for an object.
Pure object oriented languages: Smalltalk, Java, Eiffel, Sather
Node class: add new services beyond the services inherited from its base
class.
Orthogonal base class: two base classes having no overlapping methods or
data
Container class: generic class used to hold objects in memory or external
storage.
Types of container classes: heterogeneous (mixed) homogeneous (same)
Protocol class: An abstract class is a protocol class if: it neither
contains nor inherits from classes that contain member data, non-virtual
functions, or private (or protected) members of any kind. it has a
non-inline virtual destructor defined with an empty implementation, all
member functions other than the destructor including inherited functions,
are declared pure virtual functions and left undefined.
Mixin class: provides some but not all of the implementation for a virtual
base class
Concrete class: used to define an object as an automatic variable on the
stack.
Handle  class:  maintains  a  pointer to an object that is programmatically
accessible through the public interface of the handle class.
Action class: provides actions that are delayed, transmitted, combined, etc
Parameterized type: generic code that can use or manipulate any type.
Proxy objects: Objects that points to other objects. Also called
surrogates.
Declaration: introduces a name into the program
Definition: provides a unique description of an entity (e.g. type,
instance, and function).
Cloning: An object can carry out copying in two ways i.e. it can set itself
to be a copy of another object, or it can return a copy of itself. The
latter process is called cloning.

Other related posts:

  • » [fabacad] Session-1 of C++ concepts