Documente Academic
Documente Profesional
Documente Cultură
Objects
www.lsp4you.com
www.lsp4you.com
Introduction
www.lsp4you.com
Structures in C
www.lsp4you.com
Structures in C
continue
struct student
Structure name or structure tag
{
char name[20];
Structure members or elements
int roll_number;
float total_marks;
};
The keyword struct declares student as a
new data type that can hold three fields of
different data types.
struct student A; // C declaration
Learners Support Publications
www.lsp4you.com
Limitations of Structures
in C
www.lsp4you.com
www.lsp4you.com
www.lsp4you.com
CLASS
www.lsp4you.com
Class Declaration
class class_name
{
private :
variable declarations;
function declarations;
public :
variable declarations;
function declarations;
};
The class declaration is similar to a struct
declaration.
Learners Support Publications
www.lsp4you.com
Class Declaration
www.lsp4you.com
continue
class class_name
{
private :
variable declarations;
function declarations;
public :
variable declarations;
function declarations;
};
Class Declaration
Members grouped
into two sections :
Private - visibility
labels
Public
www.lsp4you.com
continue
class class_name
{
private :
variable declarations;
function declarations;
public :
variable declarations;
function declarations;
};
Class Declaration
www.lsp4you.com
continue
class class_name
{
private :
variable declarations;
function declarations;
public :
variable declarations;
function declarations;
};
Class Declaration
continue
The variables
class class_name
declared inside the
{
class are known as
private :
data members.
variable declarations;
and the functions are
function declarations;
known as member
public :
functions.
variable declarations;
Only the member
function declarations;
functions can have
};
access to the private
data members and
private functions.
www.lsp4you.com
Class Declaration
continue
www.lsp4you.com
function declarations;
public :
variable declarations;
function declarations;
};
Class Declaration
Private area
No entry to
private area
Data
Functions
Public area
Entry allowed to
public area
Data
Functions
www.lsp4you.com
continue
Class Example
class item
{
int number;
// variable declaration
float cost;
// private by default
public :
void
getdata( int a, float b);
//
function declaration
void
};
Learners Support Publications
putdata( void );
www.lsp4you.com
// using prototype
Class Example
Give meaningful
names to classes.
Names become the
new type identifier
that can be used to
declare instances of
that class type.
The class item
contains two data
members and two
member functions.
www.lsp4you.com
continue
class item
{
int number;
float
cost;
public :
void
getdata(int
a, float b);
void
putdata(void);
};
Class Example
www.lsp4you.com
continue
class item
{
int number;
float
cost;
public :
void
getdata(int
a, float b);
void
putdata(void);
};
Class Example
Class : ITEM
DATA
number
cost
FUNCTIONS
getdata( )
putdata( )
Representation of a class
Learners Support Publications
www.lsp4you.com
continue
class item
{
int number;
float
cost;
public :
void
getdata(int
a, float b);
void
putdata(void);
};
Creating Objects
Once a class has been declared, we can
create variables of that type by using the
class name.
item x ;
www.lsp4you.com
Creating Objects
continue
www.lsp4you.com
Creating Objects
continue
} x, y, z ;
www.lsp4you.com
Accessing Class
Members
www.lsp4you.com
Defining Member
Functions
www.lsp4you.com
Defining Member
Functions
continue
www.lsp4you.com
Defining Member
Functions
continue
www.lsp4you.com
Defining Member
Functions
continue
www.lsp4you.com
Making an Outside
Functions Inline
class item
{
public :
void getdata (int a, float b);
};
inline void item : : getdata (int a, float b)
{
number = a ;
cost = b ;
}
Learners Support Publications
www.lsp4you.com
Nesting of Member
Functions
www.lsp4you.com
Private Member
Functions
www.lsp4you.com
Private Member
Functions
class product
{
int code ;
float stock ;
void read ( void ) ;
public :
void
update( void ) ;
void
display( void ) ;
};
Learners Support Publications
www.lsp4you.com
continue
If p1 is an object, then
p1.read ( ) is illegal.
However, the function
read( ) can be called
by any of the public
functions of this
class.
void product : : update
( void)
{
read ( ) ;
};
www.lsp4you.com
www.lsp4you.com
www.lsp4you.com
www.lsp4you.com
www.lsp4you.com
www.lsp4you.com
Arrays of Objects
class employee
{
char name [30];
float age;
public:
void getdata (void);
void putdata (void);
};
employee manager [5];
employee worker [25];
Objects as Function
Arguments
www.lsp4you.com
Objects as Function
continue
Arguments
www.lsp4you.com
Friendly Functions
However . ?
www.lsp4you.com
www.lsp4you.com
The function
declaration should be
preceded by the
keyword friend.
The function is
defined elsewhere in
the program like a
normal C++ function.
The function definition
does not use either
the keyword friend or
the scope operator : :.
www.lsp4you.com
class employee
{
----public :
----friend void it_cal
(void);
}
www.lsp4you.com
www.lsp4you.com
www.lsp4you.com
www.lsp4you.com
int fun1 ( );
};
www.lsp4you.com
class Y
{
friend int X : :
fun1 ( );
};
www.lsp4you.com
class Z
{
friend class X ;
};
Returning Objects
Like a function can receive objects
as arguments, it can also return
objects.
www.lsp4you.com
Pointer To Members
www.lsp4you.com
Pointer To Memberscontinue
We can define a pointer to class A
the member m as follows:
{
int A : : * pm = &A : : m;
A : : * pointer-tomember
of A class.
&A : : m means address
of the m member of A
class.
Learners Support Publications
www.lsp4you.com
private :
int m ;
public :
void show( ) ;
};
Pointer To Memberscontinue
The dereferencing
operator
.* is used when the
object itself is used
with the member
pointer.
The dereferencing
operator
->* is used to access a
member when we use
pointers to both the
object and the
member.
Learners Support Publications
www.lsp4you.com
class A
{
int m ;
public :
void show( ) ;
};
Aa;
int A : : * pm = & A :
:m;
A * pa = & a ;
Pointer To Memberscontinue
The dereferencing
operator
.* is used when the
object itself is used
with the
member
To refer
the
pointer.
member m
The dereferencing
a .* pm
operator
->* is used to access a
To refer
member
when the
we use
member
pointers
to bothm
the
objectpa
and
member.
->the
* pm
Learners Support Publications
www.lsp4you.com
class A
{
int m ;
public :
void show( ) ;
};
Aa;
int A : : * pm = & A :
:m;
A * pa = & a ;
Pointer To Memberscontinue
We can also design pointers to member
functions which, then, can be invoked
using the dereferencing operators in the
main.
(object-name . * pointer-to-member
function) ( )
The precedence
) is higher than
(pointer-to-object
->of* (pointer-to-member
that of
function)
( ) . * and -> * , so the
parentheses are necessary.
Learners Support Publications
www.lsp4you.com
Local Classes
Classes can be defined and used inside a
function or a block. Such classes are called
local classes.
Local classes can be used global variables and
static variables but can not use automatic
variables. The global variables should be used
with the scope operator ( : : ).
They cannot have static data members and
member functions must be defined inside the
local classes.
www.lsp4you.com
Thank You
www.lsp4you.com