0
   
OOPs – Advanced
   
OOPs – Const Dest
●
Constructor : Things to do when a new 
object is created
●
Destructor : Things to do when object's...
   
OOPs – Const Dest
   
OOPs – More Constructors
   
OOPs – More Constructors : 
ERRATA
   
Lets answer the TRICK Question
   
Lets do the TRICK Question
15 years back, before C++ came in,
Address(cool) = Address(coolness)
COMPILER OPTIMIZATION!
   
Lets answer the TRICK Question
●
While making a COPY of the parameter, the 
Copy­constructor of the parameter should 
...
   
OOPs – Interfaces
●
Class definition, no logic
●
Defines what functions and data (vars) 
should be present in the Clas...
   
OOPs – Interfaces
   
OOPs – Interfaces
   
OOPs – Abstract Class
●
Small extension of Interfaces
●
Instead of requiring subclass to implement 
ALL virtual functi...
   
OOPs – Abstract Class
   
OOPs – Virtual keyword
OUTPUT for each?
   
OOPs – Virtual keyword
   
OOPs – Static Variables
   
OOPs – Static Variables
   
OOPs – Inline functions
   
OOPs – Friend Function
PS: Never encountered a good use for a friend function  :­/
   
OOPs – Static Var and Function
Output?
   
OOPs – Static Var and Function
   
OOPs – Namespace
   
OOPs – Namespace
   
OOPs – Namespace
   
OOPs – Namespace
   
OOPs – Shallow Copy
Output?
   
OOPs – Shallow Copy
   
OOPs – Deep Copy
Output?
   
OOPs – Deep Copy
   
Inheritance ­ advanced
●
Types of inheritance :
●
Public 
●
Private 
●
Protected
   
Inheritance ­ advanced
●
Types of inheritance :
●
Public 
●
Private 
●
Protected
   
Inheritance ­ advanced
●
Types of inheritance :
●
Public 
●
Private 
●
Protected
   
CLASS DIAGRAM
READUP : UML Elements
   
QUESTIONS
   
Q) Variables
●
What is the size of a NULL value in C++?
   
Q) Variables
●
What is the size of a NULL value in C++?
●
1 Byte
   
Q) Functions
●
Python uses which of the following?
●
Call by value
●
Call by reference
●
Both, interchangeably
●
None ...
   
Q) Functions
●
Python uses which of the following?
●
Call by value
●
Call by reference
●
Both, interchangeably
●
None ...
   
Q) C'tors and d'tors
OUTPUT?
   
Q) C'tors and d'tors
   
Q) This pointer
What is the error here?
   
Q) What are the OOPs conepts 
used here?
   
Q) Inheritance
WHAT VARIABLES ARE ACCESSIBLE
TO
Function foo() ?
   
Q) Inheritance
WHAT VARIABLES ARE ACCESSIBLE
TO
Function foo() ?
a_v1, a_v2, b_v2, b_v3, c_v2, c_v3
WHAT VARIABLES ARE...
   
Q) Inheritance
WHAT VARIABLES ARE ACCESSIBLE
TO
Function foo() ?
a_v1, a_v2, b_v2, b_v3, c_v2, c_v3
WHAT VARIABLES ARE...
   
Q) This pointer
What is the error here?
   
Q) Interfaces and Abs Class
●
Can you instanciate an object of an Abstract 
class?
   
Q) Interfaces and Abs Class
●
Can you instanciate an object of an Abstract 
class?
●
NO
   
Q) Interfaces and Abs Class
●
Can a function be final and virtual at the 
same time?
   
Q) Interfaces and Abs Class
●
Can you instanciate an object of an Abstract 
class?
●
NO
– Virtual functions HAVE to be...
Upcoming SlideShare
Loading in...5
×

OOPS Advanced

328

Published on

Last lecture on OOPS

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
328
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "OOPS Advanced"

  1. 1.     OOPs – Advanced
  2. 2.     OOPs – Const Dest ● Constructor : Things to do when a new  object is created ● Destructor : Things to do when object's life  ends. 
  3. 3.     OOPs – Const Dest
  4. 4.     OOPs – More Constructors
  5. 5.     OOPs – More Constructors :  ERRATA
  6. 6.     Lets answer the TRICK Question
  7. 7.     Lets do the TRICK Question 15 years back, before C++ came in, Address(cool) = Address(coolness) COMPILER OPTIMIZATION!
  8. 8.     Lets answer the TRICK Question ● While making a COPY of the parameter, the  Copy­constructor of the parameter should  be called! ● Thus the compiler optimization was invalid.
  9. 9.     OOPs – Interfaces ● Class definition, no logic ● Defines what functions and data (vars)  should be present in the Class that  IMPLEMENTS an interface. ●
  10. 10.     OOPs – Interfaces
  11. 11.     OOPs – Interfaces
  12. 12.     OOPs – Abstract Class ● Small extension of Interfaces ● Instead of requiring subclass to implement  ALL virtual functions, it also defines some  function's body.
  13. 13.     OOPs – Abstract Class
  14. 14.     OOPs – Virtual keyword OUTPUT for each?
  15. 15.     OOPs – Virtual keyword
  16. 16.     OOPs – Static Variables
  17. 17.     OOPs – Static Variables
  18. 18.     OOPs – Inline functions
  19. 19.     OOPs – Friend Function PS: Never encountered a good use for a friend function  :­/
  20. 20.     OOPs – Static Var and Function Output?
  21. 21.     OOPs – Static Var and Function
  22. 22.     OOPs – Namespace
  23. 23.     OOPs – Namespace
  24. 24.     OOPs – Namespace
  25. 25.     OOPs – Namespace
  26. 26.     OOPs – Shallow Copy Output?
  27. 27.     OOPs – Shallow Copy
  28. 28.     OOPs – Deep Copy Output?
  29. 29.     OOPs – Deep Copy
  30. 30.     Inheritance ­ advanced ● Types of inheritance : ● Public  ● Private  ● Protected
  31. 31.     Inheritance ­ advanced ● Types of inheritance : ● Public  ● Private  ● Protected
  32. 32.     Inheritance ­ advanced ● Types of inheritance : ● Public  ● Private  ● Protected
  33. 33.     CLASS DIAGRAM READUP : UML Elements
  34. 34.     QUESTIONS
  35. 35.     Q) Variables ● What is the size of a NULL value in C++?
  36. 36.     Q) Variables ● What is the size of a NULL value in C++? ● 1 Byte
  37. 37.     Q) Functions ● Python uses which of the following? ● Call by value ● Call by reference ● Both, interchangeably ● None of the above
  38. 38.     Q) Functions ● Python uses which of the following? ● Call by value ● Call by reference ● Both, interchangeably ● None of the above : It uses Call­by­object
  39. 39.     Q) C'tors and d'tors OUTPUT?
  40. 40.     Q) C'tors and d'tors
  41. 41.     Q) This pointer What is the error here?
  42. 42.     Q) What are the OOPs conepts  used here?
  43. 43.     Q) Inheritance WHAT VARIABLES ARE ACCESSIBLE TO Function foo() ?
  44. 44.     Q) Inheritance WHAT VARIABLES ARE ACCESSIBLE TO Function foo() ? a_v1, a_v2, b_v2, b_v3, c_v2, c_v3 WHAT VARIABLES ARE ACCESSIBLE TO Object d?
  45. 45.     Q) Inheritance WHAT VARIABLES ARE ACCESSIBLE TO Function foo() ? a_v1, a_v2, b_v2, b_v3, c_v2, c_v3 WHAT VARIABLES ARE ACCESSIBLE TO Object d? a_v2, c_v3
  46. 46.     Q) This pointer What is the error here?
  47. 47.     Q) Interfaces and Abs Class ● Can you instanciate an object of an Abstract  class?
  48. 48.     Q) Interfaces and Abs Class ● Can you instanciate an object of an Abstract  class? ● NO
  49. 49.     Q) Interfaces and Abs Class ● Can a function be final and virtual at the  same time?
  50. 50.     Q) Interfaces and Abs Class ● Can you instanciate an object of an Abstract  class? ● NO – Virtual functions HAVE to be over­ridden – Final functions CANNOT be over­ridden
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×