Lecture 2 Data Members and Member Functions
Lecture 2 Data Members and Member Functions
Lecture 2 Data Members and Member Functions
Data Members
The variables which are declared in any class by using any fundamental data types (like int,
char, float etc) or derived data type (like class, structure, pointer etc.) are known as Data
Members. And the functions which are declared either in private section of public section are
known as Member functions.
Access Specifier
Data hiding is one of the important features of Object Oriented Programming which allows
preventing the functions of a program to access directly the internal representation of a class
type. The access restriction to the class members is specified by the labeled public, private,
and protected sections within the class body. The keywords public, private, and protected
are called access specifiers.
A class can have multiple public, protected, or private labeled sections. Each section remains
in effect until either another section label or the closing right brace of the class body is seen.
The default access for members and classes is private.
A public member is accessible from anywhere outside the class but within a program.
#include <iostream>
using namespace std;
class box
{
public:
int a=5;
};
int main ()
{
box obj;
obj.a=10;
cout<<obj.a;
}
A private member variable or function cannot be accessed, or even viewed from outside the
class. Only the class and friend functions can access private members.
#include <iostream>
using namespace std;
class box
{
Private:
int a=5;
};
int main ()
{
box obj;
obj.a=10;
cout<<obj.a;
The protected Members
The public data members of objects of a class can be accessed using the direct member
access operator (.).
Member Function:
A member function of a class is a function that has its definition or its prototype within the
class definition like any other variable. It operates on any object of the class of which it is a
member, and has access to all the members of a class for that object.
#include <iostream>
using namespace std;
class box
{
There are 2 ways to define a member function
private:
int
Insidea=5;
class definition
public:
Outside class definition
int afunc()
To define member function outside the class definition we have to use the scope
{ :: operator along with class name and function name.
resolution
cout<<"value of a is" << a <<endl;
class BSCS
{ }
public:
};
string geekname;
int id;
int main ()
{
// printname is not defined inside class definition
void printname();
box obj;
//obj.func();
printid is defined inside class definition
void printid()
{ return 0;
cout
} << "Geek id is: " << id;
}
};
// Definition of printname using scope resolution operator ::
void Geeks::printname()
{
cout << "Geekname is: " << geekname;
}