Introduction To Programming - CS201 Power Point Slides Lecture 40
Introduction To Programming - CS201 Power Point Slides Lecture 40
Programming
Lecture 40
Class
Class is a user
defined data type
Data
Hiding
Public
Interface
Yes you can use user
defined data type as a
member of the class
Class can contain
objects.
Example
class Date
{
private :
int month , day ,
year ;
public :
// member
functions
Example
class Person
{
private :
char * name ;
char * address ;
Date dateOfBirth ; // member
object
public :
// public member functions . . .
};
Person :: Person ( char * name , char * address , int day , int month , int
year )
{
dateOfBirth.setDay ( dy ) ;
dateOfBirth.setMonth ( mn ) ;
dateOfBirth.setYear ( yr ) ;
// statement ( s ) ;
}
Initialize
r List
Person :: Person ( char * name ,
char * address , int day, int month, int ye
: Date ( int month , int day , int year )
Constructor
Date :: Date ( int day , int month , int year )
{
cout << “Inside Date constructor ” ;
}
void display ( ) ;
void set ( int ) ;
~ Column ( )
{
cout << "Column destroyed" << endl ;
}
};
class Row
Example
{
private :
int size ;
Column col ;
public :
void set ( int ) ;
Row ( )
{
cout << "Inside Constructor for object Row" <<
endl ;
}
~ Row ( )
{
cout << "Row destroyed" << endl ;
}
void display ( ) ;
class Matrix
Example
{
private :
Row row ;
int size ;
public :
Matrix ( )
{
cout << "Matrix Created" << endl <<
endl ;
}
~ Matrix ( )
{
cout << "Matrix destroyed" << endl <<
endl ;
}
Example
main( )
{
Matrix m ;
m.display ( ) ;
}
Output
Column Created
Inside Constructor for object Row
Matrix Created
….
Matrix Destroyed
Row Destroyed
Column Destroyed
Code
Reuse
const Date dateOfBirth ;
Structure
inside a
structure
Class inside
a class
class Outer
Example
{
…….
class Inner1
{
private :
// Data members
//data functions
public :
// Data members
//data functions
};
//data members
//data functions
};
Class inside a
class
Inner2
Inner1
Outer
Frien
d
Example
class Outer
{
public :
class Inner ;
friend class Inner ;
class Inner
{
}
functionName ( )
{
// Statement ( s ) ;
definition
}
Outer :: Inner :: Inner ( )
{
// definition
}
class Outer
Example
{
class Inner1
{
class Inner2
{
class Inner3
{
// Data members and functions
// and perhaps more inner
classes
};
// Data members and functions
};
48: members and functions
// Data
};