0% found this document useful (0 votes)
42 views30 pages

Assignment 3 Without Output

Uploaded by

Muneeb ahmad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views30 pages

Assignment 3 Without Output

Uploaded by

Muneeb ahmad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 30

PART # B

#include <iostream>

using namespace std;

class Date {

private:

int day;

int month;

int year;

public:

Date(int d, int m, int y) : day(d), month(m), year(y) {}

bool withinLastFiveYears(int currentYear) {

return (currentYear - year <= 5);

bool ageLessThan40(int currentYear) {

return (currentYear - year < 40);

};

class Employee {
private:

Date dateOfJoining;

Date dateOfBirth;

public:

Employee(int dojDay, int dojMonth, int dojYear, int dobDay, int dobMonth, int dobYear)

: dateOfJoining(dojDay, dojMonth, dojYear), dateOfBirth(dobDay, dobMonth, dobYear) {}

bool joinedWithinLastFiveYears(int currentYear) {

return dateOfJoining.withinLastFiveYears(currentYear);

bool ageLessThan40(int currentYear) {

return dateOfBirth.ageLessThan40(currentYear);

};

class Base {

public:

virtual void iam() {

cout << "Base" << endl;

};

class Derived1 : public Base {

public:

void iam() {

cout << "Derived1" << endl;

};

class Derived2 : public Base {

public:

void iam() {

cout << "Derived2" << endl;


}

};

int main() {

int currentYear = 2012;

Employee employee1(10, 1, 2010, 5, 6, 1980);

Employee employee2(25, 7, 2013, 20, 4, 1975);

cout << "Employee one joined within last five years: "

<< (employee1.joinedWithinLastFiveYears(currentYear) ? "Yes" : "No") << endl;

cout << "Employee one has age less than 40: "

<< (employee1.ageLessThan40(currentYear) ? "Yes" : "No") << endl;

cout << "Employee two joined within last five years: "

<< (employee2.joinedWithinLastFiveYears(currentYear) ? "Yes" : "No") << endl;

cout << "Employee two has age less than 40: "

<< (employee2.ageLessThan40(currentYear) ? "Yes" : "No") << endl;

Base* basePtr;

Base baseObj;

Derived1 derived1Obj;

Derived2 derived2Obj;

basePtr = &baseObj;

basePtr->iam();

basePtr = &derived1Obj;

basePtr->iam();

basePtr = &derived2Obj;

basePtr->iam();

return 0;

Output:
#include <iostream>

using namespace std;

class Shape

protected:

double dim1, dim2;

public:

virtual void get_data() = 0; // Pure virtual function

virtual void display_area() = 0; // Pure virtual function

};

class Triangle : public Shape

public:

void get_data() {
cout << "Enter base and height of triangle: ";

cin >> dim1 >> dim2;

void display_area() {

cout << "Area of Triangle is: " << 0.5 * dim1 * dim2 << endl;

};class Rectangle : public Shape

{ public:

void get_data() {

cout << "Enter length and breadth of rectangle: ";

cin >> dim1 >> dim2;

void display_area() {

cout << "Area of Rectangle is: " << dim1 * dim2 << endl;

};int main() {

Triangle t;

t.get_data();

t.display_area();

Rectangle r;

r.get_data();

r.display_area();

Output:
#include <iostream>

#include <cstring>

using namespace std;

class Address {

private:

char* street;

char* house;

char* city;

char* code;

public:

Address(const char* s, const char* h, const char* c, const char* cd)

: street(nullptr), house(nullptr), city(nullptr), code(nullptr) {

setStreet(s);

setHouse(h);

setCity(c);

setCode(cd);
}

~Address() {

delete[] street;

delete[] house;

delete[] city;

delete[] code;

const char* getStreet() const {

return street;

void setStreet(const char* s) {

delete[] street;

street = new char[strlen(s) + 1];

strcpy(street, s);

const char* getHouse() const {

return house;

void setHouse(const char* h) {

delete[] house;

house = new char[strlen(h) + 1];

strcpy(house, h);

const char* getCity() const {

return city;

void setCity(const char* c) {

delete[] city;
city = new char[strlen(c) + 1];

strcpy(city, c);

const char* getCode() const {

return code;

void setCode(const char* cd) {

delete[] code;

code = new char[strlen(cd) + 1];

strcpy(code, cd);

};

class Person {

private:

Address address;

public:

Person(const Address& a) : address(a) {}

const Address& getAddress() const {

return address;

void setAddress(const Address& a) {

address = a;

};

int main() {

Address address("Comsats", "150", "Bani Gala", "150000");

Person person(address);

cout << "Original Address: " << endl;

cout << "Street: " << person.getAddress().getStreet() << endl;


cout << "House: " << person.getAddress().getHouse() << endl;

cout << "City: " << person.getAddress().getCity() << endl;

cout << "Code: " << person.getAddress().getCode() << endl;

Address newAddress("COMSATS ISLAMABAD", "050", "PARK ROAD", "0000");

person.setAddress(newAddress);

cout << "\nModified Address: " << endl;

cout << "Street: " << person.getAddress().getStreet() << endl;

cout << "House: " << person.getAddress().getHouse() << endl;

cout << "City: " << person.getAddress().getCity() << endl;

cout << "Code: " << person.getAddress().getCode() << endl;

return 0;

Output:

#include <iostream>

#include <string>

using namespace std;

class Teacher {

protected:

string teacherName;

int age;

string address;
public:

Teacher() {

cout << "Teacher constructor called." << endl;

~Teacher() {

cout << "Teacher destructor called." << endl;

void inputTeacher() {

cout << "Enter Teacher's Name: ";

getline(cin, teacherName);

cout << "Enter Teacher's Age: ";

cin >> age;

cin.ignore(); // Ignore the newline character in the input buffer

cout << "Enter Teacher's Address: ";

getline(cin, address);

void displayTeacher() {

cout << "Teacher's Name: " << teacherName << endl;

cout << "Teacher's Age: " << age << endl;

cout << "Teacher's Address: " << address << endl;

};class Author {

protected:

string authorName;

string address;

int numOfBooks;

public:

Author() {

cout << "Author constructor called." << endl; }


~Author() {

cout << "Author destructor called." << endl;

}void inputAuthor() {

cout << "Enter Author's Name: ";

getline(cin, authorName);

cout << "Enter Author's Address: ";

getline(cin, address);

cout << "Enter Number of Books Written: ";

cin >> numOfBooks;

cin.ignore(); // Ignore the newline character in the input buffer

}void displayAuthor() {

cout << "Author's Name: " << authorName << endl;

cout << "Author's Address: " << address << endl;

cout << "Number of Books Written: " << numOfBooks << endl;

};class Scholar : public Teacher, public Author {

public:

Scholar() {

cout << "Scholar constructor called." << endl;

} ~Scholar() {

cout << "Scholar destructor called." << endl;

}void inputScholar() {

inputTeacher();

inputAuthor();

}void displayScholar() {

displayTeacher();

displayAuthor();

};int main() {
Scholar scholar;

cout << "Enter Scholar's Details: " << endl;

scholar.inputScholar();

cout << "\nScholar's Details: " << endl;

scholar.displayScholar(); return 0;

Output:

#include <iostream>

#include <string>

using namespace std;

class Teacher {

protected:

string teacherName;

int age;

string address;

public:

void inputTeacher() {

cout << "Enter Teacher's Name: ";

getline(cin, teacherName);

cout << "Enter Teacher's Age: ";

cin >> age;

cin.ignore(); // Ignore the newline character in the input buffer

cout << "Enter Teacher's Address: ";


getline(cin, address);

void displayTeacher() {

cout << "Teacher's Name: " << teacherName << endl;

cout << "Teacher's Age: " << age << endl;

cout << "Teacher's Address: " << address << endl;

};

class Author {

protected:

string authorName;

string address;

int numOfBooks;

public:

void inputAuthor() {

cout << "Enter Author's Name: ";

getline(cin, authorName);

cout << "Enter Author's Address: ";

getline(cin, address);

cout << "Enter Number of Books Written: ";

cin >> numOfBooks;

cin.ignore(); // Ignore the newline character in the input buffer

} void displayAuthor() {

cout << "Author's Name: " << authorName << endl;

cout << "Author's Address: " << address << endl;

cout << "Number of Books Written: " << numOfBooks << endl;

};
class Scholar : public Teacher, public Author {

public:

void inputScholar() {

inputTeacher();

inputAuthor();

void displayScholar() {

displayTeacher();

displayAuthor();

};int main() {

Scholar scholar;

cout << "Enter Scholar's Details: " << endl;

scholar.inputScholar();

cout << "\nScholar's Details: " << endl;

scholar.displayScholar();

return 0;

Output:
#include <iostream>

#include <string>

using namespace std;

class DateTime {

private:

int day;

int month;

int year;

int hour;

int minute;
int second;public:

DateTime(int d, int m, int y, int h, int min, int sec)

: day(d), month(m), year(y), hour(h), minute(min), second(sec) {}

void setDateTime(int d, int m, int y, int h, int min, int sec) {

day = d;

month = m;

year = y;

hour = h;

minute = min;

second = sec;

} void displayDateTime() {

cout << "Date: " << day << "/" << month << "/" << year << endl;

cout << "Time: " << hour << ":" << minute << ":" << second << endl;

};int main() {

DateTime Watch(1, 1, 2022, 12, 0, 0);

cout << "Initial Watch Settings: " << endl;

Watch.displayDateTime();

int day, month, year, hour, minute, second;

cout << "\nEnter new Watch settings: " << endl;

cout << "Day: ";

cin >> day;

cout << "Month: ";

cin >> month;

cout << "Year: ";

cin >> year;

cout << "Hour: ";

cin >> hour;

cout << "Minute: ";


cin >> minute;

cout << "Second: ";

cin >> second;

Watch.setDateTime(day, month, year, hour, minute, second);

cout << "\nUpdated Watch Settings: " << endl;

Watch.displayDateTime();

return 0;

Output:

#include <iostream>

#include <string>

using namespace std;

class Person {
protected:

string name;

int age;

string gender;

public:

void setName(string name) {

this->name = name;

} void setAge(int age) {

this->age = age;

}void setGender(string gender) {

this->gender = gender;

}string getName() {

return name;

int getAge() { return age;

}string getGender() {

return gender;

};class Employee {

protected:

string employerName;

double dailyWages;public:

void setEmployerName(string employerName) {

this->employerName = employerName;

}void setDailyWages(double dailyWages) {

this->dailyWages = dailyWages;

}string getEmployerName() {

return employerName;
}double getDailyWages() {

return dailyWages;

};class Teacher : public Person, public Employee {

private:

string grade;

public:

void setGrade(string grade) {

this->grade = grade;

string getGrade() { return grade;

};int main() {

Teacher teacher;

// Set data using setter functions

teacher.setName("NOUMAN");

teacher.setAge(20);

teacher.setGender("Male");

teacher.setEmployerName("aps School");

teacher.setDailyWages(99.9);

teacher.setGrade("Grade 2"); // Display data using getter functions

cout << "Name: " << teacher.getName() << endl;

cout << "Age: " << teacher.getAge() << endl;

cout << "Gender: " << teacher.getGender() << endl;

cout << "Employer: " << teacher.getEmployerName() << endl;

cout << "Daily Wages: " << teacher.getDailyWages() << endl;

cout << "Grade: " << teacher.getGrade() << endl;

return 0;
}

Output:

#include <iostream>

using namespace std;

class Base {

protected:

int baseData1;

int baseData2;

public:

void setBaseData(int data1, int data2) {

baseData1 = data1;

baseData2 = data2;

} void displayBaseData() {

cout << "Base Data 1: " << baseData1 << endl;

cout << "Base Data 2: " << baseData2 << endl;

};class Derived1 : public Base {


protected:

int derivedData;

public:

void setDerivedData(int data) {

derivedData = data;

} void displayDerivedData() {

cout << "Derived Data: " << derivedData << endl;

};class Derived2 : public Derived1 {

public:

void accessBaseAndDerived1() {

displayBaseData();

displayDerivedData();

};int main() {

Derived2 obj;

obj.setBaseData(10, 20);

obj.setDerivedData(30);

obj.accessBaseAndDerived1();

return 0;

Output:
#include <iostream>

using namespace std;

class Person {

int id;

string name;

string addr;

public :

void getdata() {

cout << "Enter ID Number : ";

cin >> id;

cout << "\nEnter Name : ";

cin >> name;

cout << "\nEnter Address : ";

getline(cin,addr);

void showdta(){
cout<<"\nID No.: "<<id;

cout<<"\nName: "<<name;

cout<<"\nAddress: "<<addr;

}; // end of person class

class Student :public Person{

long int rno;

float m1,m2,m3;

public :

void getdata() {

Person ::getdata();

cout << "\nEnter Roll no : ";

cin>>rno;

cout<<"Enter Marks in three subjects:";

cin>>m1>>m2>>m3;

void showdata(){

Person::showdata();

cout<<endl<<"RollNo:"<<rno;

cout<<endl<<"Marks obtained are :"

<<"Subject-1="<<m1

<<" Subject -2 ="<<m2

<<" Subject -3 = "<<m3;

};//end of student class

int main()

Student s;

s.getdata();
s.showdata();

return 0;

Output:

#include <iostream>

#include <string>

class publication {

protected:

std::string title;

float price;

public:

// Default constructor

publication() {

title = "";

price = 0.0;

} // Function to get data from the user

void getdata() {

std::cout << "Enter the title: ";

std::getline(std::cin >> std::ws, title);

std::cout << "Enter the price: ";


std::cin >> price;

} // Function to display data

void putdata() const {

std::cout << "Title: " << title << std::endl;

std::cout << "Price: $" << price << std::endl;

};

class book : public publication {

private:

int page_count;

public:

// Default constructor

book() : publication() {

page_count = 0;

} // Function to get data from the user

void getdata() {

publication::getdata();

std::cout << "Enter the page count: ";

std::cin >> page_count;

} // Function to display data

void putdata() const {

publication::putdata();

std::cout << "Page Count: " << page_count << std::endl;

};

class tape : public publication {

private:

float playing_time;

public:

// Default constructor
tape() : publication() {

playing_time = 0.0;

} // Function to get data from the user

void getdata() {

publication::getdata();

std::cout << "Enter the playing time (in minutes): ";

std::cin >> playing_time;

} // Function to display data

void putdata() const {

publication::putdata();

std::cout << "Playing Time: " << playing_time << " minutes" << std::endl;

};int main() {

book b;

tape t;

std::cout << "Enter the details of the book:\n";

b.getdata();

std::cout << "\nEnter the details of the tape:\n"; t.getdata();

std::cout << "\nBook Details:\n";

b.putdata();

std::cout << "\nTape Details:\n";

t.putdata();

return 0;

Output:
#include <iostream>

class Computer {

protected:

int wordsize;

int memorysize;

int storagesize;

int speed;

public:

// Default constructor

Computer() {

wordsize = 0;

memorysize = 0;

storagesize = 0;

speed = 0;

} // Constructor to initialize all components

Computer(int wordsize, int memorysize, int storagesize, int speed) {

this->wordsize = wordsize;
this->memorysize = memorysize;

this->storagesize = storagesize;

this->speed = speed;

}// Function to display data members

void display() {

std::cout << "Word Size: " << wordsize << " bits\n";

std::cout << "Memory Size: " << memorysize << " megabytes\n";

std::cout << "Storage Size: " << storagesize << " megabytes\n";

std::cout << "Speed: " << speed << " megahertz\n";

};class Laptop : public Computer {

private:

int length;

int width;

int height;

int weight;

public:

// Default constructor

Laptop() : Computer() {

length = 0;

width = 0;

height = 0;

weight = 0;

} // Constructor to initialize all components

Laptop(int wordsize, int memorysize, int storagesize, int speed, int length, int width, int height, int weight)

: Computer(wordsize, memorysize, storagesize, speed) {

this->length = length;

this->width = width;

this->height = height;
this->weight = weight;

// Function to display data members

void display() {

Computer::display();

std::cout << "Length: " << length << " units\n";

std::cout << "Width: " << width << " units\n";

std::cout << "Height: " << height << " units\n";

std::cout << "Weight: " << weight << " units\n";

};int main() {

// Create a Computer object

Computer computer(64, 2222, 111, 1500);

std::cout << "Computer:\n";

computer.display();

std::cout << "\n"; // Create a Laptop object

Laptop laptop(64, 2222, 111, 1500, 1, 90, 12, 21);

std::cout << "Laptop:\n";

laptop.display();

return 0;

Output:

You might also like