SlideShare a Scribd company logo
1 of 20
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

friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)Ritika Sharma
 
classes and objects in C++
classes and objects in C++classes and objects in C++
classes and objects in C++HalaiHansaika
 
Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVAAbhilash Nair
 
Class and object in C++
Class and object in C++Class and object in C++
Class and object in C++rprajat007
 
Inline function
Inline functionInline function
Inline functionTech_MX
 
Templates in C++
Templates in C++Templates in C++
Templates in C++Tech_MX
 
Access specifier
Access specifierAccess specifier
Access specifierzindadili
 
Inline function in C++
Inline function in C++Inline function in C++
Inline function in C++Jenish Patel
 
class and objects
class and objectsclass and objects
class and objectsPayel Guria
 
INLINE FUNCTION IN C++
INLINE FUNCTION IN C++INLINE FUNCTION IN C++
INLINE FUNCTION IN C++Vraj Patel
 
array of object pointer in c++
array of object pointer in c++array of object pointer in c++
array of object pointer in c++Arpita Patel
 
Friend function
Friend functionFriend function
Friend functionzindadili
 
Scope rules : local and global variables
Scope rules : local and global variablesScope rules : local and global variables
Scope rules : local and global variablessangrampatil81
 
Constructor and Types of Constructors
Constructor and Types of ConstructorsConstructor and Types of Constructors
Constructor and Types of ConstructorsDhrumil Panchal
 

What's hot (20)

friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)
 
classes and objects in C++
classes and objects in C++classes and objects in C++
classes and objects in C++
 
This pointer
This pointerThis pointer
This pointer
 
Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVA
 
Class and object in C++
Class and object in C++Class and object in C++
Class and object in C++
 
Inline function
Inline functionInline function
Inline function
 
Templates in C++
Templates in C++Templates in C++
Templates in C++
 
Access specifier
Access specifierAccess specifier
Access specifier
 
Inline function in C++
Inline function in C++Inline function in C++
Inline function in C++
 
class and objects
class and objectsclass and objects
class and objects
 
INLINE FUNCTION IN C++
INLINE FUNCTION IN C++INLINE FUNCTION IN C++
INLINE FUNCTION IN C++
 
array of object pointer in c++
array of object pointer in c++array of object pointer in c++
array of object pointer in c++
 
[OOP - Lec 18] Static Data Member
[OOP - Lec 18] Static Data Member[OOP - Lec 18] Static Data Member
[OOP - Lec 18] Static Data Member
 
stack & queue
stack & queuestack & queue
stack & queue
 
Classes and objects in c++
Classes and objects in c++Classes and objects in c++
Classes and objects in c++
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
Friend function
Friend functionFriend function
Friend function
 
Scope rules : local and global variables
Scope rules : local and global variablesScope rules : local and global variables
Scope rules : local and global variables
 
Constructor and Types of Constructors
Constructor and Types of ConstructorsConstructor and Types of Constructors
Constructor and Types of Constructors
 

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
 
classandobjectunit2-150824133722-lva1-app6891.ppt
classandobjectunit2-150824133722-lva1-app6891.pptclassandobjectunit2-150824133722-lva1-app6891.ppt
classandobjectunit2-150824133722-lva1-app6891.pptmanomkpsg
 
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
 

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++)
 
classandobjectunit2-150824133722-lva1-app6891.ppt
classandobjectunit2-150824133722-lva1-app6891.pptclassandobjectunit2-150824133722-lva1-app6891.ppt
classandobjectunit2-150824133722-lva1-app6891.ppt
 
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
 

Recently uploaded

Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsDILIPKUMARMONDAL6
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadaditya806802
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 

Recently uploaded (20)

Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teams
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasad
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 

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