SlideShare a Scribd company logo
1 of 20
Download to read offline
DATA MEMBERS AND MEMBER
FUNCTIONS IN OBJECT
ORIENTED PROGRAMMING
Presented by :-
DC2016BTE0044 PUSPITA DAS
DC2016BTE0185 SHREYALAXMITALUKDAR
DC2016BTE0195 MARLOM BEY
 Introduction
 Static Data Members
 Accessing Data Members
 Defining Member Functions
 Types of Member Functions
 Conclusion
 References
Contents
Introduction
 Data Members:
O The variables declared inside the class are known as data members.
O Data members may be private or public.
 Member functions:
O The functions declared inside the class are known as member functions.
O Member functions are methods or functions that are defined inside of
objects.
O Generally used to manipulate data members and other object data.
Static Data Members
 Static Data Members are those which are declared by using the static
keyword in front of the data members.
 Static Data Members are always used in the static member function.
 The static data members are always assigned some values from the
outside of the class.
Syntax:
classWidget {
...
static unsigned int g_serial ;
...
} ;
Accessing Data Members
 Accessing Public Data Members
 Accessing Private Data Members
 Accessing Protected Data Members
Accessing Public Data Members
 Following is an example to show how to initialize and use the public data members
using the dot (.) operator and the respective object of class.
class Student
{
public:
int rollno;
string name;
};
int main()
{
StudentA;
Student B;
A.rollno=1;
A.name="Adam";
B.rollno=2;
B.name="Bella";
cout <<"Name and Roll no of A is :"<<A.name << A.rollno;
cout <<"Name and Roll no of B is :"<< B.name << B.rollno;
}
Accessing Private Data Members
 To access, use and initialize the private data member we need to create getter and setter
functions, to get and set the value of the data member.
class Student
{
private:
int rollno;
public: // public getter and setter functions
int getRollno()
{
return rollno;
}
void setRollno(int i)
{
rollno=i;
}
};
int main()
{
Student A;
A.rollono=1;
cout<< A.rollno;
A.setRollno(1);
cout<< A.getRollno(); //Output will be 1
}
Accessing Protected Data Members
 Protected data members, can be accessed directly using dot (.)
operator inside the subclass of the current class
 Protected data members can be accessed in the same way as
public data members f.rom friend functions or classes and from
derived classes.
Defining Member Function
 Inside the class definition
 Outside the class definition
InsideThe Class Definition
 A member function of a class can be defined inside the class. However,
when a member function is defined inside the class, the class name and
the scope resolution operator are not specified in the function header.
Example :
class book
{
char title[30];
float price;
public:
void getdata(char [],float); II declaration
void putdata()//definition inside the class
{
cout<<"nTitle of Book: "<<title;
cout<<"nPrice of Book: "<<price;
};
OutsideThe Class Definition
 Defining a member function outside a class requires the function declaration to be
provided inside the class definition.
Example:
Class book
{
// body of the class
} :
void book :: getdata(char a[],float b)
{
// defining member function outside the class
Strcpy(title,a):
price = b:
}
void book :: putdata ()
{
cout<<"nTitle of Book: "<<title;
cout<<"nPrice of Book: "<<price;
}
TYPES OF MEMBER FUNCTION
 Simple Function
 Static Function
 Const Function
 Inline Function
 Friend Function
Simple Function
 These are the basic member function, which don,t have any
special keyword like static etc. as prefix.
Example:
return_type functionName(parameter_list)
{
function body;
}
Static Member Function
 A function is made static by using static keyword with function name.
 It can be called using the object and the direct member access (.) operator.
But, its more typical to call a static member function by itself, using class
name and scope resolution (::) operator.
A function is made static by using static keyword with function name
Example:
class X
{
public:
static void f(){};
};
int main()
{
X::f(); // calling member function directly with class name
}
Const Member Functions
 Const keyword makes variables constant, that means once
defined, there values can't be changed.
 When used with member function, such member functions can
never modify the object or its related data members.
//Basic Syntax of const Member Function
void fun() const {}
Inline Member Functions
 All the member functions defined inside the class definition are by default
declared as Inline.
 Member functions containing a few lines of code are usually declared inline.
For example:
ClassY
{
char*a ;
public:
Char* f();{return a;}
};
Is equivalent to
Char Z
{
char*a;
Public:
char* f();
};
Inline char* Z::f()
{return a;}
Friend Member Functions
 Friend functions are made to give private access to non-class functions.You can
declare a global function as friend, or a member function of other class as friend.
Example:
class WithFriend
{
int i;
public:
friend void fun(); // Global function as friend
};
void fun()
{
withFriend wf;
wf.i=10; //Access to private data member
cout << wf.i;
}
int main()
{
fun(); //Can be called directly
}
Conclusion
 A static member function can only access static data members of the
class, it cannot access instance data members.
 A private member function can only be called by another function
that is a member class.
 Protected keywords are only used in the inheritance context.
 Objects created by object oriented programs can easily be reused in
other programs
References
■ Books
[1]. By E Balagurusamy “Object Oriented ProgrammingWith C++” ,TATA McGraw-
Hill Publishing Company Limited, 2008
■ Web Links
[2]. https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp3_OOP.html
---OOP Basics
[3]. http://www.studytonight.com/cpp/accessing-data-
members.php
---Accessing Data Members
[4]. http://www.studytonight.com/cpp/member-functions-cpp.php
---Member Functions
[5]. http://www.studytonight.com/cpp/types-of-member-function.php
---Types of Member Function
THANK YOU

More Related Content

What's hot

Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member FunctionsMOHIT AGARWAL
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in javaRahulAnanda1
 
Classes and objects
Classes and objectsClasses and objects
Classes and objectsNilesh Dalvi
 
Constructor and Types of Constructors
Constructor and Types of ConstructorsConstructor and Types of Constructors
Constructor and Types of ConstructorsDhrumil Panchal
 
Templates in C++
Templates in C++Templates in C++
Templates in C++Tech_MX
 
Union in C programming
Union in C programmingUnion in C programming
Union in C programmingKamal Acharya
 
Java Inheritance - sub class constructors - Method overriding
Java Inheritance - sub class constructors - Method overridingJava Inheritance - sub class constructors - Method overriding
Java Inheritance - sub class constructors - Method overridingNithyaN19
 
Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVAAbhilash Nair
 
Class and Objects in Java
Class and Objects in JavaClass and Objects in Java
Class and Objects in JavaSpotle.ai
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++Vishal Patil
 
java interface and packages
java interface and packagesjava interface and packages
java interface and packagesVINOTH R
 
Friend function
Friend functionFriend function
Friend functionzindadili
 
Call by value
Call by valueCall by value
Call by valueDharani G
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Michelle Anne Meralpis
 

What's hot (20)

Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member Functions
 
Classes and objects in c++
Classes and objects in c++Classes and objects in c++
Classes and objects in c++
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Interface in java
Interface in javaInterface in java
Interface in java
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Constructor and Types of Constructors
Constructor and Types of ConstructorsConstructor and Types of Constructors
Constructor and Types of Constructors
 
[OOP - Lec 18] Static Data Member
[OOP - Lec 18] Static Data Member[OOP - Lec 18] Static Data Member
[OOP - Lec 18] Static Data Member
 
Templates in C++
Templates in C++Templates in C++
Templates in C++
 
Arrays
ArraysArrays
Arrays
 
Union in C programming
Union in C programmingUnion in C programming
Union in C programming
 
Java Inheritance - sub class constructors - Method overriding
Java Inheritance - sub class constructors - Method overridingJava Inheritance - sub class constructors - Method overriding
Java Inheritance - sub class constructors - Method overriding
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVA
 
Function overloading ppt
Function overloading pptFunction overloading ppt
Function overloading ppt
 
Class and Objects in Java
Class and Objects in JavaClass and Objects in Java
Class and Objects in Java
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
 
java interface and packages
java interface and packagesjava interface and packages
java interface and packages
 
Friend function
Friend functionFriend function
Friend function
 
Call by value
Call by valueCall by value
Call by value
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)
 

Similar to Data members and member functions

chapter-7-classes-and-objects.pdf
chapter-7-classes-and-objects.pdfchapter-7-classes-and-objects.pdf
chapter-7-classes-and-objects.pdfstudy material
 
Object and class presentation
Object and class presentationObject and class presentation
Object and class presentationnafisa rahman
 
Presentation on class and object in Object Oriented programming.
Presentation on class and object in Object Oriented programming.Presentation on class and object in Object Oriented programming.
Presentation on class and object in Object Oriented programming.Enam Khan
 
oop lecture 3
oop lecture 3oop lecture 3
oop lecture 3Atif Khan
 
Classes, objects and methods
Classes, objects and methodsClasses, objects and methods
Classes, objects and methodsfarhan amjad
 
Unit vi(dsc++)
Unit vi(dsc++)Unit vi(dsc++)
Unit vi(dsc++)Durga Devi
 
CLASSES AND OBJECTS IN C++ +2 COMPUTER SCIENCE
CLASSES AND OBJECTS IN C++ +2 COMPUTER SCIENCECLASSES AND OBJECTS IN C++ +2 COMPUTER SCIENCE
CLASSES AND OBJECTS IN C++ +2 COMPUTER SCIENCEVenugopalavarma Raja
 
Lecture-11 Friend Functions and inline functions.pptx
Lecture-11 Friend Functions and inline functions.pptxLecture-11 Friend Functions and inline functions.pptx
Lecture-11 Friend Functions and inline functions.pptxrayanbabur
 
Class objects oopm
Class objects oopmClass objects oopm
Class objects oopmShweta Shah
 
+2 CS class and objects
+2 CS class and objects+2 CS class and objects
+2 CS class and objectskhaliledapal
 
object oriented programming language by c++
object oriented programming language by c++object oriented programming language by c++
object oriented programming language by c++Mohamad Al_hsan
 

Similar to Data members and member functions (20)

chapter-7-classes-and-objects.pdf
chapter-7-classes-and-objects.pdfchapter-7-classes-and-objects.pdf
chapter-7-classes-and-objects.pdf
 
Object and class presentation
Object and class presentationObject and class presentation
Object and class presentation
 
Class and object
Class and objectClass and object
Class and object
 
Lecture 2 (1)
Lecture 2 (1)Lecture 2 (1)
Lecture 2 (1)
 
C++ Notes
C++ NotesC++ Notes
C++ Notes
 
Class and object
Class and objectClass and object
Class and object
 
class c++
class c++class c++
class c++
 
Presentation on class and object in Object Oriented programming.
Presentation on class and object in Object Oriented programming.Presentation on class and object in Object Oriented programming.
Presentation on class and object in Object Oriented programming.
 
OOPs & C++ UNIT 3
OOPs & C++ UNIT 3OOPs & C++ UNIT 3
OOPs & C++ UNIT 3
 
ccc
cccccc
ccc
 
oop lecture 3
oop lecture 3oop lecture 3
oop lecture 3
 
DS Unit 6.ppt
DS Unit 6.pptDS Unit 6.ppt
DS Unit 6.ppt
 
Classes, objects and methods
Classes, objects and methodsClasses, objects and methods
Classes, objects and methods
 
Unit vi(dsc++)
Unit vi(dsc++)Unit vi(dsc++)
Unit vi(dsc++)
 
CLASSES AND OBJECTS IN C++ +2 COMPUTER SCIENCE
CLASSES AND OBJECTS IN C++ +2 COMPUTER SCIENCECLASSES AND OBJECTS IN C++ +2 COMPUTER SCIENCE
CLASSES AND OBJECTS IN C++ +2 COMPUTER SCIENCE
 
Lecture-11 Friend Functions and inline functions.pptx
Lecture-11 Friend Functions and inline functions.pptxLecture-11 Friend Functions and inline functions.pptx
Lecture-11 Friend Functions and inline functions.pptx
 
Class objects oopm
Class objects oopmClass objects oopm
Class objects oopm
 
Class and object in C++ By Pawan Thakur
Class and object in C++ By Pawan ThakurClass and object in C++ By Pawan Thakur
Class and object in C++ By Pawan Thakur
 
+2 CS class and objects
+2 CS class and objects+2 CS class and objects
+2 CS class and objects
 
object oriented programming language by c++
object oriented programming language by c++object oriented programming language by c++
object oriented programming language by c++
 

Recently uploaded

Javier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier Fernández Muñoz
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...shreenathji26
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labsamber724300
 
Theory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfTheory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfShreyas Pandit
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
The Satellite applications in telecommunication
The Satellite applications in telecommunicationThe Satellite applications in telecommunication
The Satellite applications in telecommunicationnovrain7111
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...Amil baba
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Amil baba
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 

Recently uploaded (20)

ASME-B31.4-2019-estandar para diseño de ductos
ASME-B31.4-2019-estandar para diseño de ductosASME-B31.4-2019-estandar para diseño de ductos
ASME-B31.4-2019-estandar para diseño de ductos
 
Javier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptxJavier_Fernandez_CARS_workshop_presentation.pptx
Javier_Fernandez_CARS_workshop_presentation.pptx
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
Introduction to Artificial Intelligence: Intelligent Agents, State Space Sear...
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labs
 
Theory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfTheory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdf
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
 
The Satellite applications in telecommunication
The Satellite applications in telecommunicationThe Satellite applications in telecommunication
The Satellite applications in telecommunication
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
Uk-NO1 Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Exp...
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
Uk-NO1 kala jadu karne wale ka contact number kala jadu karne wale baba kala ...
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 

Data members and member functions

  • 1. DATA MEMBERS AND MEMBER FUNCTIONS IN OBJECT ORIENTED PROGRAMMING Presented by :- DC2016BTE0044 PUSPITA DAS DC2016BTE0185 SHREYALAXMITALUKDAR DC2016BTE0195 MARLOM BEY
  • 2.  Introduction  Static Data Members  Accessing Data Members  Defining Member Functions  Types of Member Functions  Conclusion  References Contents
  • 3. Introduction  Data Members: O The variables declared inside the class are known as data members. O Data members may be private or public.  Member functions: O The functions declared inside the class are known as member functions. O Member functions are methods or functions that are defined inside of objects. O Generally used to manipulate data members and other object data.
  • 4. Static Data Members  Static Data Members are those which are declared by using the static keyword in front of the data members.  Static Data Members are always used in the static member function.  The static data members are always assigned some values from the outside of the class. Syntax: classWidget { ... static unsigned int g_serial ; ... } ;
  • 5. Accessing Data Members  Accessing Public Data Members  Accessing Private Data Members  Accessing Protected Data Members
  • 6. Accessing Public Data Members  Following is an example to show how to initialize and use the public data members using the dot (.) operator and the respective object of class. class Student { public: int rollno; string name; }; int main() { StudentA; Student B; A.rollno=1; A.name="Adam"; B.rollno=2; B.name="Bella"; cout <<"Name and Roll no of A is :"<<A.name << A.rollno; cout <<"Name and Roll no of B is :"<< B.name << B.rollno; }
  • 7. Accessing Private Data Members  To access, use and initialize the private data member we need to create getter and setter functions, to get and set the value of the data member. class Student { private: int rollno; public: // public getter and setter functions int getRollno() { return rollno; } void setRollno(int i) { rollno=i; } }; int main() { Student A; A.rollono=1; cout<< A.rollno; A.setRollno(1); cout<< A.getRollno(); //Output will be 1 }
  • 8. Accessing Protected Data Members  Protected data members, can be accessed directly using dot (.) operator inside the subclass of the current class  Protected data members can be accessed in the same way as public data members f.rom friend functions or classes and from derived classes.
  • 9. Defining Member Function  Inside the class definition  Outside the class definition
  • 10. InsideThe Class Definition  A member function of a class can be defined inside the class. However, when a member function is defined inside the class, the class name and the scope resolution operator are not specified in the function header. Example : class book { char title[30]; float price; public: void getdata(char [],float); II declaration void putdata()//definition inside the class { cout<<"nTitle of Book: "<<title; cout<<"nPrice of Book: "<<price; };
  • 11. OutsideThe Class Definition  Defining a member function outside a class requires the function declaration to be provided inside the class definition. Example: Class book { // body of the class } : void book :: getdata(char a[],float b) { // defining member function outside the class Strcpy(title,a): price = b: } void book :: putdata () { cout<<"nTitle of Book: "<<title; cout<<"nPrice of Book: "<<price; }
  • 12. TYPES OF MEMBER FUNCTION  Simple Function  Static Function  Const Function  Inline Function  Friend Function
  • 13. Simple Function  These are the basic member function, which don,t have any special keyword like static etc. as prefix. Example: return_type functionName(parameter_list) { function body; }
  • 14. Static Member Function  A function is made static by using static keyword with function name.  It can be called using the object and the direct member access (.) operator. But, its more typical to call a static member function by itself, using class name and scope resolution (::) operator. A function is made static by using static keyword with function name Example: class X { public: static void f(){}; }; int main() { X::f(); // calling member function directly with class name }
  • 15. Const Member Functions  Const keyword makes variables constant, that means once defined, there values can't be changed.  When used with member function, such member functions can never modify the object or its related data members. //Basic Syntax of const Member Function void fun() const {}
  • 16. Inline Member Functions  All the member functions defined inside the class definition are by default declared as Inline.  Member functions containing a few lines of code are usually declared inline. For example: ClassY { char*a ; public: Char* f();{return a;} }; Is equivalent to Char Z { char*a; Public: char* f(); }; Inline char* Z::f() {return a;}
  • 17. Friend Member Functions  Friend functions are made to give private access to non-class functions.You can declare a global function as friend, or a member function of other class as friend. Example: class WithFriend { int i; public: friend void fun(); // Global function as friend }; void fun() { withFriend wf; wf.i=10; //Access to private data member cout << wf.i; } int main() { fun(); //Can be called directly }
  • 18. Conclusion  A static member function can only access static data members of the class, it cannot access instance data members.  A private member function can only be called by another function that is a member class.  Protected keywords are only used in the inheritance context.  Objects created by object oriented programs can easily be reused in other programs
  • 19. References ■ Books [1]. By E Balagurusamy “Object Oriented ProgrammingWith C++” ,TATA McGraw- Hill Publishing Company Limited, 2008 ■ Web Links [2]. https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp3_OOP.html ---OOP Basics [3]. http://www.studytonight.com/cpp/accessing-data- members.php ---Accessing Data Members [4]. http://www.studytonight.com/cpp/member-functions-cpp.php ---Member Functions [5]. http://www.studytonight.com/cpp/types-of-member-function.php ---Types of Member Function