Friend Function: Non-member function that can access members (private + protected) of class Friend keyword is used during declaration only Defined globally outside of class scope (it does not belong to any class) Used in operator overloading Not in java Friend Class: Can access private + protected members of other class without inheritance Friendship is NOT mutual Violates data hiding hence avoid Static: When a variable in a class is declared static, space for it is allocated for the lifetime of the program. No matter how many objects of that class have been created, there is only one copy of the static member. So same static member can be accessed by all the objects of that class. A static member function can be called even if no objects of the class exist and the static function are accessed using only the class name (A) and the scope resolution operator :: cout<<A::a(); Abstract class : template for another class A class is called an abstract class whose objects c...