Unary Operator and Structure
Unary Operator and Structure
//Complex:
#include<iostream>
struct Complex
int real,imag;
Complex()
this->real=0;
this->imag=0;
Complex(int r,int i)
this->real=r;
this->imag=i;
this->real=r;
{
this->imag=i;
return this->real;
return this->imag;
void display()
Complex operator++(int a)
Complex temp;
temp.real=this->real++;
temp.imag=this->imag++;
return temp;
Complex operator++()
Complex temp;
temp.real=++this->real;
temp.imag=++this->imag;
return temp;
Complex operator--(int a)
Complex temp;
temp.real=this->real--;
temp.imag=this->imag--;
return temp;
Complex operator--()
Complex temp;
temp.real=--this->real;
temp.imag=--this->imag;
return temp;
};
int main()
Complex c1(30,23);
Complex c2,c3;
c1.display();
c2.display();
cout<<"\nNumber is ";
c1.display();
c2=++c1;
c2.display();
cout<<"\nNumber is ";
c1.display();
c3=c1--;
c3.display();
cout<<"\nNumber is ";
c3=--c1;
c3.display();
//Distance:
#include<iostream>
struct Distance
int feet,inch;
Distance()
{
this->feet=-1;
this->inch=-1;
Distance(int f,int i)
this->feet=f;
this->inch=i;
this->feet=f;
this->inch=i;
return this->feet;
{
return this->inch;
void display()
Distance operator++(int p)
Distance temp;
temp.feet=this->feet++;
temp.inch=this->inch++;
return temp;
Distance operator++()
Distance temp;
temp.feet=++this->feet;
temp.inch=++this->inch;
return temp;
Distance operator--(int p)
Distance temp;
temp.feet=this->feet--;
temp.inch=this->inch--;
return temp;
Distance operator--()
Distance temp;
temp.feet=--this->feet;
temp.inch=--this->inch;
return temp;
};
int main()
Distance d1,d2,d3;
int feet,inch;
d1.display();
cin>>feet;
cin>>inch;
d1.setFeet(feet);
d1.setInch(inch);
cout<<"\nDistance is:";
d1.display();
d2=d1++;
cout<<"\nDistance is:";
d1.display();
d2=++d1;
d2.display();
cout<<"\nDistance is:";
d1.display();
d3=d1--;
d3.display();
cout<<"\nDistance is:";
d1.display();
d3=--d1;
d3.display();
return 0;
1. Student:
#include<iostream>
#include<string.h>
int n;
struct Student
int roll_no;
char name[20];
Student()
this->roll_no=0;
strcpy(this->name,"not_given");
Student(int r,char* n)
this->roll_no=r;
strcpy(this->name,n);
this->roll_no=r;
strcpy(this->name,n); //setters(mumtator)
return this->roll_no;
return this->name;
void display()
};
int search(Student*,int);
int main()
Student *s;
int roll,i,ans;
char name[20];
cin>>n;
s=new Student[n];
for(i=0;i<n;i++)
s[i].display();
cin>>name;
s[i].setRoll(roll);
s[i].setName(name);
s[i].display();
cin>>roll;
ans=search(s,roll);
if(ans==-1)
else
s[ans].display();
Student *s1;
s1=new Student(42,"pragati");
s1->display();
return 0;
int i,count=0;
for(i=0;i<n;i++)
if(s[i].getRoll()==r)
{
count++;
break;
if(count!=0)
return i;
else
return -1;
2. Employee:
#include<iostream>
#include<string.h>
int n;
struct Employee
int emp_id;
char name[20];
double salary;
Employee()
this->emp_id=0;
strcpy(this->name,"not_given");
this->salary=0;
cout<<"\n\nparameterised called\n";
this->emp_id=i;
strcpy(this->name,n);
this->salary=s;
this->emp_id=i;
strcpy(this->name,n);
this->salary=s;
return this->emp_id;
}
char* getName() //getters(accessors)
return this->name;
return this->salary;
void display()
};
int search(Employee*,int);
int main()
Employee *e;
int id,i,ans;
char name[20];
double salary;
cin>>n;
e=new Employee[n];
for(i=0;i<n;i++)
{
e[i].display();
cin>>id;
cin>>name;
cin>>salary;
e[i].setId(id);
e[i].setName(name);
e[i].setSalary(salary);
e[i].display();
cin>>id;
ans=search(e,id);
if(ans==-1)
else
e[ans].display();
Employee *e1;
e1=new Employee(42,"pragati",60000);
e1->display();
return 0;
}
int search(Employee *e,int id)
int i,count=0;
for(i=0;i<n;i++)
if(e[i].getId()==id)
count++;
break;
if(count!=0)
return i;
else
return -1;
3. Sales Manager:
#include<iostream>
#include<string.h>
int n;
struct SalesMan
int id,target;
char name[20];
double salary,intensive;
SalesMan()
this->id=0;
strcpy(this->name,"not_given");
this->salary=0;
this->target=0;
this->intensive=0;
this->id=i;
strcpy(this->name,n);
this->salary=s;
this->target=t;
this->intensive=in;
this->id=i;
{
strcpy(this->name,n);
this->salary=s;
this->target=t;
this->intensive=in;
return this->id;
return this->name;
return this->salary;
}
return this->target;
return this->intensive;
void display()
};
int search(SalesMan*,int);
int main()
SalesMan *m;
int id,target,i,ans;
char name[20];
double salary,intensive;
cin>>n;
m=new SalesMan[n];
for(i=0;i<n;i++)
{
m[i].display();
cin>>id;
cin>>name;
cin>>salary;
cin>>target;
cin>>intensive;
m[i].setId(id);
m[i].setName(name);
m[i].setSalary(salary);
m[i].setTarget(target);
m[i].setIntense(intensive);
m[i].display();
cin>>id;
ans=search(m,id);
if(ans!=-1)
else
SalesMan *m1;
m1=new SalesMan(42,"pragati",60000,40,5000);
m1->display();
return 0;
int i,count=0;
for(i=0;i<n;i++)
if(m[i].getId()==id)
count++;
break;
if(count!=0)
return i;
else
return -1;
}
4. Admin:
#include<iostream>
#include<string.h>
int n;
struct Admin
int id;
char name[20];
double salary,allowance;
Admin()
this->id=0;
strcpy(this->name,"not_given");
this->salary=0;
this->allowance=0;
this->id=i;
strcpy(this->name,n);
this->salary=s;
this->allowance=a;
}
this->id=i;
strcpy(this->name,n);
this->salary=s;
this->allowance=a;
return this->id;
return this->name;
}
double getSalary() //getters(accessor)
return this->salary;
return this->allowance;
void display()
};
int search(Admin*,int);
int main()
Admin *a;
int id,i,ans;
char name[20];
double salary,allowance;
cin>>n;
for(i=0;i<n;i++)
a[i].display();
cout<<"enter admin id:\n";
cin>>id;
cin>>name;
cin>>salary;
cin>>allowance;
a[i].setId(id);
a[i].setName(name);
a[i].setSalary(salary);
a[i].setAllow(allowance);
a[i].display();
cin>>id;
ans=search(a,id);
if(ans!=-1)
a[ans].display();
else
a1=new Admin(42,"pragati",60000,5000);
a1->display();
return 0;
int i,count=0;
for(i=0;i<n;i++)
if(a[i].getId()==id)
count++;
break;
if(count!=0)
return i;
else
return -1;
5. HR Manager:
#include<iostream>
#include<string.h>
int n;
struct HrManager
int id;
char name[20];
double salary,commission;
HrManager()
this->id=0;
strcpy(this->name,"not_given");
this->salary=0;
this->commission=0;
this->id=i;
strcpy(this->name,n);
this->salary=s;
this->commission=c;
this->id=i;
}
strcpy(this->name,n);
this->salary=s;
this->commission=c;
return this->id;
return this->name;
return this->salary;
}
double getComm() //getters(accessor)
return this->commission;
void display()
};
int search(HrManager*,int);
int main()
HrManager *h;
int id,i,ans;
char name[20];
double salary,commission;
cin>>n;
h=new HrManager[n];
for(i=0;i<n;i++)
h[i].display();
cin>>id;
cin>>salary;
cin>>commission;
h[i].setId(id);
h[i].setName(name);
h[i].setSalary(salary);
h[i].setComm(commission);
h[i].display();
cin>>id;
ans=search(h,id);
if(ans!=-1)
h[ans].display();
else
HrManager *h1;
h1=new HrManager(42,"pragati",60000,5000);
h1->display();
return 0;
}
int i,count=0;
for(i=0;i<n;i++)
if(h[i].getId()==id)
count++;
break;
if(count!=0)
return i;
else
return -1;
6. Date:
#include<iostream>
int n;
struct Date
int day,month,year;
Date()
{
this->day=0;
this->month=0;
this->year=0;
this->day=d;
this->month=m;
this->year=y;
this->day=d;
this->month=m;
this->year=y;
}
int getDay() //getters(accessor)
return this->day;
return this->month;
return this->year;
void display()
};
int search(Date*,Date);
int main()
Date *d;
Date dt;
int day,month,year;
int i,ans;
for(i=0;i<n;i++)
d[i].display();
cin>>day;
cin>>month;
cin>>year;
d[i].setDay(day);
d[i].setMonth(month);
d[i].setYear(year);
d[i].display();
cin>>day>>month>>year;
dt.setDay(day);
dt.setMonth(month);
dt.setYear(year);
ans=search(d,dt);
if(ans!=-1)
d[ans].display();
}
else
Date *d1;
d1=new Date(23,4,2001);
d1->display();
return 0;
int i,count=0;
for(i=0;i<n;i++)
if(d[i].getDay()==dt.getDay()&&d[i].getMonth()==dt.getMonth()&&d[i].getYear()==dt.getYear())
count++;
break;
if(count!=0)
return i;
else
return -1;
7. Time:
using namespace std;
#include<iostream>
int n;
struct Time
int hr,min,sec;
Time()
this->hr=-1;
this->min=-1;
this->sec=-1;
this->hr=h;
this->min=m;
this->sec=s;
this->hr=h;
this->min=m;
this->sec=s;
return this->hr;
return this->min;
return this->sec;
void display()
};
int search(Time*,Time);
int main()
Time *t;
Time tm;
int hr,min,sec;
int r,q,i,ans;
cin>>n;
t=new Time[n];
for(i=0;i<n;i++)
t[i].display();
cout<<"\nenter hours:\n";
cin>>hr;
cout<<"\nenter minuits:\n";
cin>>min;
cout<<"\nenter seconds:\n";
cin>>sec;
t[i].setSec(sec);
t[i].setMin(min);
t[i].setHour(hr);
t[i].display();
cin>>hr>>min>>sec;
tm.setHour(hr);
tm.setMin(min);
tm.setSec(sec);
ans=search(t,tm);
if(ans!=-1)
t[ans].display();
Time *t1;
t1=new Time(10,49,55);
t1->display();
return 0;
int i,count=0;
for(i=0;i<n;i++)
if(t[i].getHr()==tm.getHr()&&t[i].getMin()==tm.getMin()&&t[i].getSec()==tm.getSec())
count++;
break;
}
if(count!=0)
return i;
else
return -1;
8. Distance:
#include<iostream>
int n;
struct Distance
int feet,inch;
Distance()
this->feet=-1;
this->inch=-1;
Distance(int f,int i)
this->feet=f;
this->inch=i;
this->feet=f;
this->inch=i;
return this->feet;
return this->inch;
void display()
};
int search(Distance*,Distance);
int main()
Distance *d;
Distance ds;
int feet,inch;
int i,ans;
cin>>n;
d=new Distance[n];
for(i=0;i<n;i++)
d[i].display();
cin>>feet;
cin>>inch;
d[i].setFeet(feet);
d[i].setInch(inch);
d[i].display();
cin>>feet>>inch;
ds.setFeet(feet);
ds.setInch(inch);
ans=search(d,ds);
if(ans!=-1)
d[ans].display();
}
Distance *d1;
d1=new Distance(5,2);
d1->display();
return 0;
int i,count=0;
for(i=0;i<n;i++)
if(d[i].getFeet()==ds.getFeet()&&d[i].getInch()==ds.getInch())
count++;
break;
if(count!=0)
return i;
else
return 0;
9. Complex:
#include<iostream>
int n;
struct Complex
int real,imag;
Complex()
this->real=0;
this->imag=0;
Complex(int r,int i)
this->real=r;
this->imag=i;
this->real=r;
this->imag=i;
return this->real;
return this->imag;
void display()
};
int search(Complex*,Complex);
int main()
Complex *c;
Complex cm;
int real,imag;
int i,ans;
c=new Complex[n];
for(i=0;i<n;i++)
c[i].display();
cin>>real;
cout<<"\nenter imaginary part of complex number:\n";
cin>>imag;
c[i].setReal(real);
c[i].setImg(imag);
c[i].display();
cin>>real>>imag;
cm.setReal(real);
cm.setImg(imag);
ans=search(c,cm);
if(ans!=-1)
c[ans].display();
Complex *c1;
c1=new Complex(30,23);
c1->display();
return 0;
int i,count=0;
for(i=0;i<n;i++)
{
if(c[i].getReal()==cm.getReal()&&c[i].getImag()==cm.getImag())
count++;
break;
if(count!=0)
return i;
else
return -1;
Short notes: