This blog consists of C and C++ programs. C and C++ programming is the basics to learn any programming language. Most of the programs are provided with their respective outputs. This blog also contains Data Structures programs using Object-Oriented Programming (C++). Some of the best books for learning C and C++ programming are also mentioned.

Showing posts with label Class. Show all posts
Showing posts with label Class. Show all posts

Tuesday, 13 August 2013

C++ program to implement Hybrid Inheritance

Hybrid Inheritance:
Hybrid Inheritance is a method where one or more types of inheritance are combined together and used.

Program:
#include<iostream.h>
#include<conio.h>
class arithmetic
{
protected:
int num1, num2;
public:
void getdata()
{
cout<<"For Addition:";
cout<<"\nEnter the first number: ";
cin>>num1;
cout<<"\nEnter the second number: ";
cin>>num2;
}
};
class plus:public arithmetic
{
protected:
int sum;
public:
void add()
{
sum=num1+num2;
}
};
class minus
{
protected:
int n1,n2,diff;
public:
void sub()
{
cout<<"\nFor Subtraction:";
cout<<"\nEnter the first number: ";
cin>>n1;
cout<<"\nEnter the second number: ";
cin>>n2;
diff=n1-n2;
}
};
class result:public plus, public minus
{
public:
void display()
{
cout<<"\nSum of "<<num1<<" and "<<num2<<"= "<<sum;
cout<<"\nDifference of "<<n1<<" and "<<n2<<"= "<<diff;
}
};
void main()
{
clrscr();
result z;
z.getdata();
z.add();
z.sub();
z.display();
getch();
}


C++ program to implement Stack ADT using Array

#include<iostream.h>
#include<conio.h>
#define maxsize 10
class stack
{
private:
int a[maxsize];
int top;
public:
stack();
void push(int i);
void pop();
void display();
}
stack::stack()
{
top=0;
}
void stack::push(int i)
{
if(top==maxsize)
cout<<"\nStack is full";
else
{
top++;
a[top]=i;
}
}
void stack::pop()
{
if(top==0)
cout<<"\nStack is empty";
else
{
int i=a[top];
top--;
}
}
void stack::display()
{
if(top==0)
cout<<"Stack is empty";
else
{
cout<<"\nThe elements in the stack are: ";
for(int i=0; i<=top;i++)
cout<<a[i]<<'\t';
}
}
int main()
{
stack s;
int x,ch;
do
{
cout<<"\n1.Push";
cout<<"\n2.Pop";
cout<<"\n3.Display";
cout<<"\n4.Exit";
cout<<"\nEnter the choice";
cin>>ch;
switch(ch)
{
case 1:
cout<<"\nEnter the element to be pushed";
cin>>x;
s.push(x);
cout<<"\nThe element is inserted";
break;
case 2:
s.pop();
break;
case 3:
s.display();
case 4:
break;
}
}while(ch!=4);
getch();
}

Tuesday, 4 June 2013

C++ program to implement Stack ADT using Linked List


#include<iostream.h>
#include<conio.h>
struct node
{
int data;
node *link;
};
class stack
{
private:
struct node *top;
public:
stack();
void push(int n);
void pop();
void display();
};
stack::stack()
{
top=NULL;
}
void stack::push(int n)
{
node *tmp;
tmp= new node;
if(tmp==NULL)
cout<<"\nStack is empty";
else
{
tmp->data=n;
tmp->link=top;
top=tmp;
}
}
void stack::pop()
{
if(top==NULL)
cout<<"\nStack is empty";
else
{
node *tmp;
int n;
tmp=top;
n=tmp->data;
top=top->link;
delete tmp;
}
}
void stack::display()
{
node *tmp;
tmp=top;
if(tmp==NULL)
cout<<"\nStack is empty";
else
{
cout<<"\nThe elements in the stack are:";
while(tmp!=NULL)
{
cout<<tmp->data;
tmp=tmp->link;
}
}
}
void main()
{
clrscr();
stack s;
int x,ch;
do
{
cout<<"\n1.Push";
cout<<"\n2.Pop";
cout<<"\n3.Display";
cout<<"\n4.Exit";
cout<<"\nEnter the choice";
cin>>ch;
switch(ch)
{
case 1:
cout<<"\nEnter the element to be pushed";
cin>>x;
s.push(x);
cout<<"\nThe element is inserted";
break;
case 2:
s.pop();
break;
case 3:
s.display();
case 4:
break;
}
}while(ch!=4);
getch();
}