0% found this document useful (0 votes)
12 views

Assignment 3

The document contains C++ code defining classes for Bus, Media, Book, Magazine, Teacher, and ClassRoom. The Bus class defines attributes and methods for a bus including number, owner, capacity, and methods to set/get/print these attributes. The Media base class defines common attributes and methods for derived Book and Magazine classes. Book and Magazine classes extend Media and define additional attributes and methods specific to each like author and ISBN for Book, and month/year for Magazine. The Teacher class defines attributes and methods for a teacher's name and extension number. The ClassRoom class defines attributes and methods for a classroom's number and capacity.

Uploaded by

MUHAMMAD TAYYAB
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Assignment 3

The document contains C++ code defining classes for Bus, Media, Book, Magazine, Teacher, and ClassRoom. The Bus class defines attributes and methods for a bus including number, owner, capacity, and methods to set/get/print these attributes. The Media base class defines common attributes and methods for derived Book and Magazine classes. Book and Magazine classes extend Media and define additional attributes and methods specific to each like author and ISBN for Book, and month/year for Magazine. The Teacher class defines attributes and methods for a teacher's name and extension number. The ClassRoom class defines attributes and methods for a classroom's number and capacity.

Uploaded by

MUHAMMAD TAYYAB
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Task 01:

#include<iostream>
using namespace std;
class Bus{
string busNumber;
string busOwner;
int busCapacity;
public:
Bus(){
busNumber="";
busOwner="";
busCapacity=0;
}
Bus(string number, string owner, int capacity){
busNumber=number;
busOwner=owner;
busCapacity=capacity;
}
void setBusNumber(string number){
busNumber=number;
}
void setBusOwner(string owner){
busOwner=owner;
}
void setBusCapacity(int capacity){
busCapacity=capacity;
}
string getBusNumber(){
return busNumber;
}
string getBusowner(){
return busOwner;
}
int getBusCapacity(){
return busCapacity;
}
~Bus(){
cout<<"Destructor executed"<<endl;
}
void setBusMethod(){
string a,b;
int c;
a=busNumber;
b=busOwner;
c=busCapacity;
}
void getBus(){
string a,b;
int c;
cout<<"Enter Bus Number: "<<endl;
cin>>a;
cout<<"Enter Bus Owner: "<<endl;
cin>>b;
cout<<"Enter Bus Capacity: "<<endl;
cin>>c;
busNumber=a;
busOwner=b;
busCapacity=c;

}
void bookBus(){
busCapacity=busCapacity+1;
cout<<"You Book Bus"<<busCapacity<<endl;
}
void cancelBus(){
busCapacity=busCapacity-1;
cout<<"You cancel Bus"<<busCapacity<<endl;
}
void putBus(){
cout<<"Bus Number: "<<busNumber<<endl;
cout<<"Bus Owner: "<<busOwner<<endl;
cout<<"Bus Capacity: "<<busCapacity<<endl;
}

};
int main(){
Bus b1,b2,b3,b4,b5;
b1.getBus();
b1.putBus();
b2.getBus();
b2.putBus();
b3.getBus();
b3.putBus();
b4.getBus();
b4.putBus();
b5.getBus();
b5.putBus();
}

Task 02:
#include<iostream>
using namespace std;
class Media{
protected:
string title;
public:
Media(){
title="";
}
Media(string title){
this->title=title;
}
void setTitle(string title){
this->title=title;
}
string getTitle() const{
return title;
}
Media operator=(Media obj){
Media temp;
temp.title=obj.title;
return temp;
}
virtual void display(){

}
void print(){
cout<<"MEDIA TITLE: "<<title<<endl;
}
~Media(){
cout<<"Media Destructor"<<endl;
}
};

class Book:public Media{


private:
string AuthorName;
string ISBN;
public:
Book(){
AuthorName="";
ISBN="";
}
Book(string AuthorName,string ISBN){
this->AuthorName=AuthorName;
this->ISBN=ISBN;
}
void setAuthorName(string AuthorName){
this->AuthorName=AuthorName;
}
void setISBN(string ISBN){
this->ISBN=ISBN;
}
string getAuthorName() const{
return AuthorName;
}
string getISBN() const{
return ISBN;
}
Book operator=(Book obj){
Book temp;
temp.AuthorName=obj.AuthorName;
temp.ISBN=obj.ISBN;
}
void display(){
cout<<"ENTER BOOK TITLE:"<<endl;
cin>>title;
cout<<"ENTER BOOK AUTHOR NAME: "<<endl;
cin>>AuthorName;
cout<<"ENTER BOOK ISBN: "<<endl;
cin>>ISBN;
cout<<"BOOK TITLE: "<<title<<endl;
cout<<"BOOK AUTHOR NAME: "<<AuthorName<<endl;
cout<<"BOOK ISBN: "<<ISBN<<endl;
}
void print(){
cout<<"BOOK AUTHOR NAME: "<<AuthorName<<endl;
cout<<"BOOK ISBN: "<<ISBN<<endl;
}
~Book(){
cout<<"Book Destructor"<<endl;
}
};

class Magzine:public Media{


private:
string month;
int year;
public:
Magzine(){
month="";
year=0;
}
Magzine(string month,int year){
this->month=month;
this->year=year;
}
void setMonth(string month){
this->month=month;
}
void setYear(int year){
this->year=year;
}
string getMonth() const{
return month;
}
int getYear() const{
return year;
}
Magzine operator=(Magzine obj){
month=obj.month;
year=obj.year;
}
void display(){
cout<<"ENTER MAGZINE TITLE: "<<endl;
cin>>title;
cout<<"ENTER MAGZINE MONTH: "<<endl;
cin>>month;
cout<<"ENTER MAGZINE YEAR: "<<endl;
cin>>year;
cout<<"MAGZINE TITLE: "<<title<<endl;
cout<<"MAGZINE MONTH: "<<month<<endl;
cout<<"MAGZINE YEAR: "<<year<<endl;
}
void print(){
cout<<"MAGZINE MONTH: "<<month<<endl;
cout<<"MAGZINE YEAR: "<<year<<endl;
}
~Magzine(){
cout<<"Magzine Destructor"<<endl;
}
};

int main(){
Book b;
Magzine mag;
Media *m;
Media *mm;
mm=&b;
m=&mag;
mm->display();
cout<<"____________"<<endl;
m->display();
cout<<"____________"<<endl;
Media m1("KURLUS OSMAN");
m1.print();
Media m2("ALP ARSLAN");
m2.print();
m1.display();
m1=m2;
cout<<"_____________"<<endl;

Book b1("MEHMAT BOZDAG","123456");


b1.print();
Book b2("EMRE KONUK","7890");
b2.print();
b1=b2;
cout<<"_____________"<<endl;

Magzine m3("October",2019);
m3.print();
Magzine m4("Semptember",2021);
m4.print();
m3=m4;
cout<<"_____________"<<endl;
}
Task 03:
#include<iostream>
using namespace std;
class Teacher{
private:
string teacherName,teacherExtNum;
public:
Teacher(){
teacherName="";
teacherExtNum="";
}
Teacher(string teacherName,string teacherExtNum){
this->teacherName=teacherName;
this->teacherExtNum=teacherExtNum;
}
void setTeacherName(string teacherName){
this->teacherName=teacherName;
}
void setTeacherExtNum(string teacherExtNum){
this->teacherExtNum=teacherExtNum;
}
string getTeacherName() const{
return teacherName;
}
string getTeacherExtNum() const{
return teacherExtNum;
}
virtual void display(){
cout<<"ENTER TEACHER NAME: "<<endl;
cin>>teacherName;
cout<<"ENTER TEACHER EXTENSION NUMBER: "<<endl;
cin>>teacherExtNum;
cout<<"TEACHER NAME: "<<teacherName<<endl;
cout<<"TEACHER EXTENSION NUMBER: "<<teacherExtNum<<endl;
}
Teacher(const Teacher &obj){
this->teacherName=obj.teacherName;
this->teacherExtNum=obj.teacherExtNum;
}

};

class ClassRoom{
private:
int roomNum,capacity;
public:
ClassRoom(){
roomNum=0;
capacity=0;
}
ClassRoom(int roomNum,int capacity){
this->roomNum=roomNum;
this->capacity=capacity;
}
void setRoomNum(int roomNum){
this->roomNum=roomNum;
}
void setcapacity(int capacity){
this->capacity=capacity;
}
int getRoomNum() const{
return roomNum;
}
int getCapacity() const{
return capacity;
}
void display(){
cout<<"ENTER ROOM NUMBER OF CLASS: "<<endl;
cin>>roomNum;
cout<<"ENTER CAPACITY OF CLASS: "<<endl;
cin>>capacity;
cout<<"ROOM NO: "<<roomNum<<endl;
cout<<"CAPACITY OF CLASS: "<<capacity<<endl;
}
ClassRoom (const ClassRoom &obj){
this->roomNum=obj.roomNum;
this->capacity=obj.capacity;
}

};

class Course{
private:
string courseTitle;
Teacher t1;
ClassRoom cr;
public:
Course(){
courseTitle="";

}
Course(string courseTitle,string teacherName,string teacherExtNum,int
roomNum,int capacity ){
this->courseTitle=courseTitle;
t1.setTeacherName(teacherName);
t1.setTeacherExtNum(teacherExtNum);
cr.setRoomNum(roomNum);
cr.setcapacity(capacity);
}
void setcourseTitle(string courseTitle){
this->courseTitle=courseTitle;
}
string getcourseTitle() const{
return courseTitle;
}
void display(string courseTitle,string teacherName,string teacherExtNum,int
roomNum,int capacity ){
this->courseTitle=courseTitle;
t1.setTeacherName(teacherName);
t1.setTeacherExtNum(teacherExtNum);
cr.setRoomNum(roomNum);
cr.setcapacity(capacity);
}
void print(){
cout<<"CourseTitle: "<<courseTitle<<endl;
cout<<"TEACHER NAME: "<<t1.getTeacherName()<<endl;
cout<<"TEACHER EXTENSION NO: "<<t1.getTeacherExtNum()<<endl;
cout<<"ROOM NO: "<<cr.getRoomNum()<<endl;
cout<<"CAPACITY "<<cr.getCapacity()<<endl;
}
Course (const Course &obj){
this->courseTitle=obj.courseTitle;
}

};

int main(){
Course c1;
string ct,tn,tex;int r, cap ;
cout<<"ENTER COURSE TITLE: "<<endl;
cin>>ct;
cout<<"ENTER ROOM NUMBER OF CLASS: "<<endl;
cin>>r;
cout<<"ENTER CAPACITY OF CLASS: "<<endl;
cin>>cap;
cout<<"ENTER TEACHER NAME: "<<endl;
cin>>tn;
cout<<"ENTER TEACHER EXTENSION NUMBER: "<<endl;
cin>>tex;
c1.display(ct,tn,tex,r,cap);
c1.print();
Course c2;
cout<<"ENTER COURSE TITLE: "<<endl;
cin>>ct;
cout<<"ENTER ROOM NUMBER OF CLASS: "<<endl;
cin>>r;
cout<<"ENTER CAPACITY OF CLASS: "<<endl;
cin>>cap;
cout<<"ENTER TEACHER NAME: "<<endl;
cin>>tn;
cout<<"ENTER TEACHER EXTENSION NUMBER: "<<endl;
cin>>tex;
c2.display(ct,tn,tex,r,cap);
c2.print();
}

Task 04:
#include<iostream>
using namespace std;
class cal{
int add1,add2;
public:
cal(){
add1=0;
add2=0;
}
cal(int add1,int add2){
this->add1=add1;
this->add2=add2;
}
void add(){
int result;
cout<<"ENTER FIRST NUMBER: "<<endl;
cin>>add1;
cout<<"ENTER SECOND NUMBER: "<<endl;
cin>>add2;
result=add1+add2;
cout<<"TOTAL="<<result<<endl;

}
};

class sc:public cal{


int sq1,sq2;
public:
sc(){
sq1=0;
sq2=0;
}
sc(int sq1,int sq2){
this->sq1=sq1;
this->sq2=sq2;
}
void sq(){
int result;
cout<<"ENTER FIRST NUMBER: "<<endl;
cin>>sq1;
cout<<"ENTER SECOND NUMBER: "<<endl;
cin>>sq2;
result=sq1*sq2;
cout<<"TOTAL="<<result<<endl;
}
};

int main(){
sc s;
s.add();
s.sq();
}

Task 05:
#include <iostream>
using namespace std;
class ClassA {
private:
int numA;
friend class ClassB;
public:
ClassA() : numA(12) {}
};

class ClassB {
private:
int numB;
public:
ClassB() : numB(1) {}
int add() {
ClassA objectA;
return objectA.numA + numB;
}
};

int main() {
ClassB objectB;
cout << "Sum: " << objectB.add();
return 0;
}

Task 06:
#include<iostream>
using namespace std;
class person{
public:
person(){
cout<<"person constructor"<<endl;
}
~person(){
cout<<"person destructor"<<endl;
}
};

class student:virtual public person{


public:
student(){
cout<<"student constructor"<<endl;
}
~student(){
cout<<"student destructor"<<endl;
}
};

class employee:virtual public person{


public:
employee(){
cout<<"employee constructor"<<endl;
}
~employee(){
cout<<"employee destructor"<<endl;
}
};

class itstudent:public student{


public:
itstudent(){
cout<<"Itstudent constructor"<<endl;
}
~itstudent(){
cout<<"itstudent destructor"<<endl;
}
};

class mathstudent:public student{


public:
mathstudent(){
cout<<"mathstudent constructor"<<endl;
}
~mathstudent(){
cout<<"mathstudent destructor"<<endl;
}
};
class driver:public employee{
public:
driver(){
cout<<"driver constructor"<<endl;
}
~driver(){
cout<<"driver destructor"<<endl;
}
};
class engineer:public employee{
public:
engineer(){
cout<<"engineer constructor"<<endl;
}
~engineer(){
cout<<"engineer destructor"<<endl;
}
};

int main(){
itstudent it;
mathstudent ms;
}

Task 07:
#include<iostream>
using namespace std;
class mobile{
public:
float price;
mobile(){
price=0.0;
}
mobile(float p){
price=p;
}
void setmobile(float p){
price=p;
}
float getmobile() const{
return price;
}
~mobile(){
cout<<"mobile destructor"<<endl;
}
};

class poco:public mobile{


public:
int ram;
int rom;
poco(){
ram=0;
rom=0;
}
poco(int ra,int ro){
ram=ra;
rom=ro;
}
void setram(int ra){
ram=ra;
}
void setrom(int ro){
rom=ro;
}
int getram() const{
return ram;
}
int getrom() const{
return rom;
}
~poco(){
cout<<"poco destructor"<<endl;
}

};
class oppo:public poco{
public:
float version;
oppo(){
version=0.0;
}
oppo(float v){
version=v;
}
void setversion(float v){
version=v;
}
float getversion() const{
return version;
}
~oppo(){
cout<<"Oppo destructor"<<endl;
}
};

class vivo: public mobile,poco{


public:
int camera;
vivo(){
camera=0;
}
vivo(int cam){
camera=cam;
}
void setcamera(int cam){
camera=cam;
}
int getcamera() const{
return camera;
}
~vivo(){
cout<<"vivo Destructor "<<endl;
}
};

int main(){
poco p1; //single (mobile and poco feature called)
vivo v1; //multiple(mobile poco vivo featue called)
oppo o1; //multilevel(mobile poco oppo feature also called)

float a;
int b,c;
cout<<"Enter Mobile Price: "<<endl;
cin>>a;
cout<<"Enter RAM: "<<endl;
cin>>b;
cout<<"Enter ROM: "<<endl;
cin>>c;
p1.setmobile(a);
p1.setram(b);
p1.setrom(c);
cout<<"Price: "<<p1.getmobile()<<endl;
cout<<"RAM: "<<p1.getram()<<endl;
cout<<"ROM: "<<p1.getrom()<<endl;

Task 08:
#include <iostream>
using namespace std;

class Base
{
public:
virtual void print() = 0;
};
class Derived:public Base
{
public:
void print()
{
cout << "Derived Class";
}
};
int main()
{

Base*b;
Derived d;
b = &d;
b->print();

Task 09;
#include <iostream>
using namespace std;
class MyClass
{
public:
void myFunction()
{
cout << "Parent Class"<<endl;
}
};

class MyChild: public MyClass


{
};
class MyGrandChild: public MyChild
{
};

int main() {
MyGrandChild myObj;
myObj.myFunction();
return 0;
}

Task 10:
#include <iostream>
using namespace std;
class A {
public:
A(){
cout<<"Constructor of A class"<<endl;
}
};
class B {
public:
B(){
cout<<"Constructor of B class"<<endl;
}
};
class C: public A, public B {
public:
C(){
cout<<"Constructor of C class"<<endl;
}
};
int main() {
C obj;
return 0;
}
Task 11:
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
for(int i=0;i<n;i++){
cout<<arr[i]<<" "<<endl;
}

}
Task 12:
#include<iostream>
using namespace std;
int getmin(int num[],int n){
int min=INT_MAX;
for(int i=0;i<n;i++){
if(num[i]>min){
min=num[i];
}
}
return min;
}

int getmax(int num[],int n){


int max=INT_MIN;
for(int i=0;i<n;i++){
if(num[i]>max){
max=num[i];
}
}
return max;
}

int main(){
int size;
cin>>size;
int num[100];
for(int i=0;i<size;i++){
cin>>num[i];
}
cout<<"MAX NUMBER"<<getmax(num,size)<<endl;
cout<<"MIN NUMBER"<<getmin(num,size)<<endl;
}

Task 13:
#include<iostream>
using namespace std;
int sum(int arr[],int n){
int sum=0;
for(int i=0;i<n;i++){
sum+=arr[i];
}
return sum;
}

int main(){
int size;
cin>>size;
int num[5];
for(int i=0;i<size;i++){
cin>>num[i];
}
cout<<"SUM IS: "<<sum(num,size)<<endl;
}

Task 14:
#include<iostream>
using namespace std;
void print(int arr[],int n){
for(int i=0;i<n;i++){
cout<<arr[i]<<"";
cout<<endl;
}
}
void swap(int arr[],int size){
for(int i=0;i<size;i+=2){
if(i+1<size){
swap(arr[i],arr[i+1]);
}
}
}

int main(){
int num[6]={1,2,3,4,5,6};
swap(num,6);
print(num,6);

Task 15:
#include<iostream>
using namespace std;
int main(){
int num=30;
int *ptr=&num;
cout<<ptr<<endl;
cout<<*ptr<<endl;
}

You might also like