DATA MEMBERS AND MEMBER FUNCTIONS IN OBJECT ORIENTED PROGRAMMING Presented by :- DC2016BTE0044 PUSPITA DAS DC2016BTE0185 SHREYALAXMI TALUKDAR DC2016BTE0195 MARLOM BEY
Introduction Static Data Members Accessing Data Members Defining Member Functions Types of Member Functions Conclusion References Contents
Introduction Data Members: The variables declared inside the class are known as data members . Data members may be private or public. Member functions: The functions declared inside the class are known as member functions . Member functions are methods or functions that are defined inside of objects. G enerally 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: class Widget { ... 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() { Student A; 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 i nt 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
Inside The Class D efinition 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; };
Outside The C lass D efinition 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 F unctions 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: Class Y { 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 F unctions 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() { w ithFriend wf ; wf.i =10 ; // Access to private data member cout << wf.i ; } int main() { fun (); //Can be called directly }
C onclusion 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 Programming With 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