CPP RECORD
CPP RECORD
3. Friend Function
4. Function Overloading
7. Single Inheritance
8. Multilevel Inheritance
9. Multiple Inheritance
Function Template
15.
1
Ex. No.: 01
CLASS AND OBJECT
Date :
Aim:
To write a C++ Program for Class and Object.
Procedure:
2
Source Code:
#include <iostream>
using namespace std;
class Car
{
public:
string brand;
int year;
void displayInfo()
{
cout << "Car Brand: " << brand << endl;
cout << "Manufacturing Year: " << year << endl;
}
};
int main()
{
Car car1;
car1.brand = "Toyota";
car1.year = 2020;
car1.displayInfo();
return 0;
}
3
Sample Output:
4
Result:
5
Ex. No.: 02
Constructor and Destructor
Date :
Aim:
Write a Program to for Constructor and Destructor.
Procedure:
6
Source Code:
#include <iostream>
using namespace std;
class Car
{
public:
string brand;
int year;
Car(string b, int y)
{
brand = b;
year = y;
cout << "Constructor called for " << brand << endl;
}
~Car() {
cout << "Destructor called for " << brand << endl;
}
void displayInfo()
{
cout << "Car Brand: " << brand << endl;
cout << "Manufacturing Year: " << year << endl;
}
};
int main()
{
Car car1("Toyota", 2020);
car1.displayInfo();
return 0;
}
7
Sample Output
8
Result:
9
Ex. No.: 03
Friend Function
Date :
Aim:
To write a C++ Program to Demonstrate a Friend Function.
Procedure:
10
Source Code:
#include <iostream>
using namespace std;
class Box {
private:
int length;
public:
Box(int l) : length(l) {}
11
Sample Output:
12
Result:
13
Ex. No.: 04 Function Overloading
Date :
Aim:
To write a C++ program to demonstrate Function Overloading.
Procedure:
14
Source Code:
#include <iostream>
using namespace std;
int plusFuncInt(int x, int y) {
return x + y;
}
double plusFuncDouble(double x, double y) {
return x + y;
}
int main() {
int myNum1 = plusFuncInt(8, 5);
double myNum2 = plusFuncDouble(4.3, 6.26);
cout << "Int: " << myNum1 << "\n";
cout << "Double: " << myNum2;
return 0;
}
15
Sample Output:
16
Result:
Date :
Aim:
Procedure:
18
Source code:
#include <iostream>
using namespace std;
class Complex {
int a, b;
public:
Complex() : a(0), b(0)
{
}
void getvalue() {
cout << "Enter the Two Numbers: ";
cin >> a >> b;
}
void operator++(int)
{
a++;
b++;
}
void operator--(int)
{
a--;
b--;
}
void display()
{
cout << a << " + " << b << "i" << endl;
}
};
int main()
{
Complex obj;
obj.getvalue();
19
obj++;
cout << "Incremented Complex Number:\n";
obj.display();
obj--;
cout << "Decremented Complex Number:\n";
obj.display();
return 0;
}
20
Sample Output :
21
Result:
22
Ex. No.: 06
Binary Operator Overloading
Date :
Aim:
To write a C++ program for Binary Operator Overloading
Procedure:
23
Source Code:
#include <iostream>
using namespace std;
class complex
{
int a, b;
public:
void get_data(){
cout << "Enter the value of Complex Numbers a, b: "; cin >> a >> b;
}
complex operator+(complex ob)
{
complex t;
t.a = a + ob.a;
t.b = b + ob.b;
return (t);
}
complex operator-(complex ob)
{
complex t;
t.a = a - ob.a;
t.b = b - ob.b;
return (t);
}
void display(){
cout << a << "+" << b << "i" << "\n";
}
};
int main()
{
complex obj1, obj2, result, result1;
24
obj1.get_data();
obj2.get_data();
result = obj1 + obj2;
result1 = obj1 - obj2;
cout << "\n\nInput Values:\n";
obj1.display();
obj2.display();
cout << "\nResult:";
result.display();
result1.display();
return 0;
}
25
Sample Output:
26
Result:
27
Ex. No.: 07 Single Inheritance
Date :
Aim:
Write a C++ program to demonstrate Single Inheritance.
Procedure:
28
Source Code:
#include <iostream>
#include <conio.h>
using namespace std;
class inheritance
{
public:
inheritance()
{
cout<<"/n base class constructor";
}
};
class derived:public inheritance
{
public:
derived()
{
cout<<"/n derived class constructor";
}
};
int main()
{
derived d;
return(0);
}
29
Sample Output:
30
Result:
31
Ex. No.: 08
Multilevel inheritance
Date :
Aim:
Procedure:
32
Source Code:
#include <iostream>
using namespace std;
class MyClass {
public:
void myFunction() {
cout << "Inherits the parent class." ;
}
};
class MyChild: public MyClass {
};
class MyGrandChild: public MyChild {
};
int main() {
MyGrandChild myObj;
myObj.myFunction();
return 0;
}
33
Sample Output:
34
Result:
35
Ex. No.: 09
Multiple inheritance
Date :
Aim:
Procedure:
Step 1: Start the program.
Step 2: Define two or more base classes with attributes and methods.
Step 3: Define a derived class that inherits from multiple base classes.
Step 4: Inside the derived class, use functions from both base classes.
Step 5: Create an object of the derived class.
Step 6: Stop the Program.
36
Source Code:
#include <iostream>
using namespace std;
class A {
public:
void display() {
cout<<"Inherit the class B and Class A"<<endl;
}
};
int main() {
C obj;
obj.display();
return 0;
}
37
Sample Ouput:
38
Result:
39
Ex. No.: 10
Hybrid Inheritance
Date :
Aim:
To write a C++ program to demonstrate Hybrid Inheritance.
Procedure:
40
Source Code:
#include <iostream>
using namespace std;
class first
{
public:
double length,breath;
};
class second:public first
{
public:
double area (double l,double b)
{
length=l;
breath=b;
return l*b;
}
};
class third : protected first
{
public:
double perimeter(double l,double b)
{
length=l;
breath=b;
return 2*(l+b);
}
};
int main()
{
41
second s;
third t;
cout<<"Area of rectangle :"<<s.area(2,3)<<endl;
cout<<"Perimeter of rectangle :"<<t.perimeter(4,5)<<endl;
return 0;
}
42
Sample Output:
43
Result:
44
Ex. No.: 11
Hierarchical Inheritance
Date :
Aim:
To write a C++ program to demonstrate Hierarchical Inheritance.
Procedure:
45
Source Code;
#include <iostream>
using namespace std;
class Animal {
public:
void info() {
cout << "This is an animal." << endl;
}};
class Dog : public Animal {
public:
void bark() {
cout << "It is a Dog. Woof woof." << endl;
}
};
class Cat : public Animal {
public:
void meow() {
cout << "It is a Cat. Meow." << endl;
}
};
int main() {
Dog dog1;
cout << "Dog Class:" << endl;
dog1.info();
dog1.bark();
Cat cat1;
cout << "\nCat Class:" << endl;
cat1.info();
cat1.meow();
return 0;
}
46
Sample Output:
47
Result:
48
Ex. No.: 12
Virtual function
Date :
Aim:
Procedure:
49
Source Code:
#include <iostream>
using namespace std;
class parent
{
public:
virtual void show()
{
cout << "Base class\n";
}
};
int main()
{
parent* p;
child c;
p = &c;
c.show();
}
50
Sample Output:
51
Result:
52
Ex. No.: 13 Exception Handling
Date :
Aim:
Procedure:
53
Source Code:
#include <iostream>
using namespace std;
int main() {
try {
int age = 15;
if (age >= 18) {
cout << "Access granted - you are old enough.";
} else {
throw (age);
}
}
catch (int myNum) {
cout << "Access denied - You must be at least 18 years old.\n";
cout << "Age is: " << myNum;
}
return 0;
}
54
Sample Output:
55
Result:
56
Ex. No.: 14 Class Template
Date :
Aim:
Procedure:
Step 5: Once the class template is instantiated, you can call its functions and access its
members.
57
Source Code:
#include <iostream>
using namespace std;
template <class T>
class Number {
private:
T num;
public:
Number(T n) : num(n) {}
T getNum() {
return num;
}
};
int main() {
Number<int> numberInt(7);
Number<double> numberDouble(7.7);
cout << "int Number = " << numberInt.getNum() << endl;
cout << "double Number = " << numberDouble.getNum() << endl;
return 0;
}
58
Sample Output:
59
Result:
Aim:
Procedure:
61
Source Code:
#include <iostream>
using namespace std;
template <typename T>
T add(T num1, T num2) {
return (num1 + num2);
}
int main() {
int result1;
double result2;
// calling with int parameters
result1 = add<int>(2, 3);
cout << "2 + 3 = " << result1 << endl;
result2 = add<double>(2.2, 3.3);
cout << "2.2 + 3.3 = " << result2 << endl;
return 0;
}
62
Sample Output:
63
Result:
64
Ex. No.: 16
Command Line Argument
Date :
Aim:
Procedure:
65
Source Code:
#include <iostream>
using namespace std;
int main()
{
double n1, n2, n3;
cout << "Enter three numbers: "<<endl;
cin >> n1 >> n2 >> n3;
if(n1 >= n2 && n1 >= n3)
cout << "Largest number: " << n1;
else if(n2 >= n1 && n2 >= n3)
cout << "Largest number: " << n2;
else
cout << "Largest number: " << n3;
return 0;
}
66
Sample Output:
67
Result:
68