peculariaties of classes

1.data type pointed by pointer is not destroyed when object goes out of its scop
e.
2.pointer p must be initialised properly either it would give error message
3.(imp)while in copy constructor(copies value memberwise)or by call by value(it
creates copy for formal parameter as well)...if one of the object goes out of sc
ope(with destructor)... pointer variable in other object would become dangling/i
nvalid.
4.(imp)copy constructor executes/initialised in 3 conditions
-object2=object1(futher by operator overloading)
-object passed by value in funtion
-return type is an object
5.destructor is called when closing braces{} of scope is encountered...and are d
estroyed in reverse order of their creation.
6.when a function is made virtual,compiler determines which function to use at r
un time based on the type of an object rather than type of pointer
when parameter passed as pointer rather than reference it would work the same.
when parameter passed as value ... derived function wont get executed and only t
he base class function would get executed(not even virtual keyword is used)
/*The preceding examples show that if a formal parameter, say p of a class type,
is either a
reference parameter or a pointer and p uses a virtual function of the base class
, we can
effectively pass a derived class object as an actual parameter to p*/
7.The derived classes, in
addition to inheriting the existing members of the base class, can add their own
members
and also redefine or override public and protected member functions of the base
class.(The base class can contain functions that you would want each derived cla
ss to implement.-why...if it can be delared and defined in derived class??)
(There are many scenarios when a class is desired to be served as a base class f
or a
number of derived classes)
8.pure virtual functions members behave as abstract class.It follows that we wou
ld like to do the following
two things to not include the definitions of the functions draw() and move(), and
to
prevent the user from creating objects of the class shape.
---accessing functions of derived class using base class
9.virtual destructor
due to when derived class object passed as base class object by value or ref. )
10.adress of operator-shadow/alias(address of xand y are same,y is the same thin
g as x, but named differently)
similar to const/constant(array) pointers(e.g int * const p)
pointer-pa(address of x and y are diff)
11.address of operator as return type
-can change value of private variable in main(can be avoided if const in
t & is used)
(i is the alias of variable x)
12.(this) is a hidden pointer to itself(object)*this refers to "value of object"

pure virtual destructor needs to be defined..derived class contructor calls the base class constructor(it does not get inh erited like other members) 14..friend funtion ..destructor is called when object goes out pf the scope or with delete keyword ..as it is not required to declare beacuse the C++ compiler declars it implicitly(otherwise it needs to be declared ) /*15....wether to call A::A(int =0)[with 1 argument] or A::A()[with no argument]*/ (return type is address of operator) (16...so no object of thi s class can be created but the pointer pointing to this(base) class can be creat ed can be delclared .....non member function of the class that has access to all memb ers of the class(although passing object as an argument.used when we need object as a "whole" 13...contructor(){} is do nothing constructor. and base class also becomes abstract class when pure virtual destructor is declared..first destructor of derived class is called then base class...eg base *b. ....:p way i understood) (18.. 20.member access operator can be used twice at a time while accessing a member or a function???) 17.. it becomes ambigous when A a is declared..overloading of insertion and extraction operator is done for accepting and p rinting the arguments of an object) 19..