Object Oriented Programming (CS304)
Assignment No.03 Object Oriented Programming (CS304)
Assignment No.03
Total Marks 20
Deadline
Your
assignment must be uploaded before or on 11th June, 2012.
Rules for Making
It
should be clear that your assignment will not get any credit if:
o
The
assignment is submitted after due date
o
The
assignment is copied
Objectives
This
assignment has been designed so that you would be able to implement the concept
of Inheritance in OOP. After the
completion of this assignment you should have a good grasp on how to implement.
o
Inheritance
o
Using
basic constructs of OOP in a program
In
previous assignments we have understood all the basics of the Song Library System
including the Object Model Diagram and highlighted the Abstraction of classes
in terms of attributes and functions prototype. Now it is time to implement the
full system in parts, so this assignment is first step towards it.
Assignment:
Object Model for 3rd
assignment:
In this
assignment you have to code/implement the below said classes in running form
these classes are,
·
User
·
Listener
·
Administrator
Now for
implementing these three classes practically in c++ you have to define classes
according to the requirements given below:
- Implement data members and
member functions for each class
- Implement constructor and
destructor for each class
- Implement setters and getters
functions for each class
- Implement different type of
relations between these classes
Sample Example:
//Topic class
class topic{
// Data
members of Topic class
int ID;
char * Title;
char
discription[200];
//Public
interface of topic class
public:
//Default
constructor
topic(){
ID=1;
Title=NULL;
}
//parametrized constructor
topic(int id,
char *title){
ID=id;
Title=new
char[strlen(title)+1];
strcpy(Title,title);
}
//setter
function for ID
void setId()
{
int id;
cout<<"\nEnter ID: ";
cin>>id;
}
void
setTitle() {
char
pChar[50];
cout<<endl<<"\nEnter Title: ";
cin.getline(pChar,50);
Title=new
char[strlen(pChar)+1];
strcpy(Title,pChar);
}
void
setTitle(char * title){
Title=title;
}
void
setdiscription(){
cout<<"\nplease
enter discription of title"<<endl;
cin.getline(discription,200);
}
int getId(){
return ID;
}
char *
getTitle(){
return
Title;
}
void add(){
cout<<"\n*****************************************\n";
cout<<"\nAdding new information in add method";
setTitle();
setdiscription();
cout<<"\n*****************************************\n";
}
bool select(){
cout<<"Topic selection Area:"<<endl;
int
select;
if
(select==1)
cout<<"\nTopic is selected"<<endl;
else
cout<<"\nTopic is not selected"<<endl;
}
int search(){
cout<<"In Search Mehtod:"<<endl;
int
found=0;
if (found)
return 1;
else
return
0;
}
void View() {
cout<<"Viewing the Information";
cout<<"\n*****************************************\n";
cout<<"\nTitle is:"<< Title ;
cout<<endl<<"\nDescription
is:"<<discription[100];
cout<<"\n*****************************************\n";
}
void print(){
cout<<"\n*****************************************\n";
cout<<endl<<"\nPrinting the
Information:"<<endl;
cout<<"Title:"<<Title<<endl<<"Discription:"<<discription;
cout<<"\n*****************************************\n";
}
void
download(){
cout<<"\n*****************************************\n";
cout<<"\nDownloading the information:"<<endl;
cout<<"Downloading under processing, Please
wait:"<<endl;
cout<<"You are downloding the
following:"<<endl<<Title<<"file";
cout<<" and the following
discription"<<endl<<discription<<"File";
cout<<"\n*****************************************\n";
}
void remove(){
cout<<"\n*****************************************\n";
cout<<"\nDeleting
the information"<<endl;
cout<<"\n*****************************************\n";
delete
[]Title;
delete []
discription;
}
~topic(){
}
};
class SubTopic: public topic {
int SubID;
char *
title;
char
discription[100];
public:
void
setSubID(){
int
subid;
cout<<"Enter ID of Sub topic:";
cin>>subid;
}
void
setdiscription(char []){
char
dChar[200];
cout<<"Enter discription of Sub topic:"<<endl;
cin.getline(dChar,200,'\n');
}
int
getSubID(){
return SubID;
}
void
setTitle(){
char
pChar[50];
char
dChar[200];
cout<<endl<<"Enter Title : ";
cin.getline(pChar,50);
cout<<endl<<"Enter Title discription:";
cin.getline(dChar,200);
if(strlen(dChar)>=90){
cout<<"Eligible for being a topic"<<endl;
}
else
{
cout<<"Title just contains name and no
description"<<endl;
}
}
~SubTopic(){
}
};