0% found this document useful (0 votes)
58 views8 pages

Name: Muhammad Hamza Amin Reg No: 191862 Course: Object Oriented Programming Submitted To: Miss Wajiha

The document discusses three tasks related to template functions and classes in C++. Task 1 demonstrates how to swap values of different data types (int, float, char) using a template function. Task 2 finds the maximum of two values of different data types using a template function. Task 3 creates a template Calculator class that can perform basic math operations (+, -, *, /) on different data types and displays the results.
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)
58 views8 pages

Name: Muhammad Hamza Amin Reg No: 191862 Course: Object Oriented Programming Submitted To: Miss Wajiha

The document discusses three tasks related to template functions and classes in C++. Task 1 demonstrates how to swap values of different data types (int, float, char) using a template function. Task 2 finds the maximum of two values of different data types using a template function. Task 3 creates a template Calculator class that can perform basic math operations (+, -, *, /) on different data types and displays the results.
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/ 8

Name: Muhammad Hamza Amin

Reg no: 191862


Course: Object oriented programming
Submitted To: Miss Wajiha

Lab #11
Objective:
In this lab we will discuss template functions and classes and their use
in C++.

Lab Tasks:
Task1:
Write a program to swap two data using template functions. Run the code

Int, float and char?

Source code:
#include <iostream>

using namespace std;

template <typename T>

void Swap(T &n1, T &n2)

T temp;

temp = n1;

n1 = n2;

n2 = temp;

int main()

int i1 = 6, i2 = 3;

float f1 = 7.2, f2 = 4.5;

char c1 = 'p', c2 = 'x';


cout << "Before passing data to function template.\n";

cout << "i1 = " << i1 << "\ni2 = " << i2;

cout << "\nf1 = " << f1 << "\nf2 = " << f2;

cout << "\nc1 = " << c1 << "\nc2 = " << c2;

Swap(i1, i2);

Swap(f1, f2);

Swap(c1, c2);

cout << "\n\nAfter passing data to function template.\n";

cout << "i1 = " << i1 << "\ni2 = " << i2;

cout << "\nf1 = " << f1 << "\nf2 = " << f2;

cout << "\nc1 = " << c1 << "\nc2 = " << c2;

return 0;

Output:
Task 2:
Write a program to find the maximum among two data types using

Template functions. Run code for float, int type data?

Source code:
#include<iostream>

using namespace std;

template <class T>

T Large(T n1,T n2)

return(n1>n2)?n1:n2;

int main()

int i1,i2;
float f1,f2;

char c1,c2;

cout<<"Enter two integers:\n";

cin>>i1>>i2;

cout<<Large(i1,i2)<<"is Larger"<<endl;

cout<<"\nEnter two floating point number:\n";

cin>>f1,f2;

cout<<Large(f1,f2)<<"is Larger"<<endl;

return 0;

Output:
Task 3:
Create a template class Calculator that performs simple calculations like + ,

-, * , / .

Source code:
#include<iostream>

using namespace std;

template <class T>

class Calculator

private:

T num1,num2;

public:

Calculator(T n1, T n2)

num1=n1;

num2=n2;

void displayResult()

cout<<"Numbers are:"<<num1<<"and"<<num2<<"."<<endl;

cout<<"Addition is:"<<add()<<endl;

cout<<"Subtraction is:"<<subtract()<<endl;

cout<<"Product is:"<<multiply()<<endl;

cout<<"Divison is:"<<divide()<<endl;
}

T add()

return num1 + num2;

T subtract()

return num1 - num2;

T multiply()

return num1 * num2;

T divide()

return num1/ num2;

};

int main()

Calculator<int>intCalc(2,1);

Calculator<float>floatCalc(2.4,1.2);

cout<<"Int results:"<<endl;

intCalc.displayResult();
cout<<endl<<"Float results:"<<endl;

floatCalc.displayResult();

return 0;

Output:

Conclusion:

You might also like