1)WAP to print the sum and product of digits of an integer.
2)Create a class Box containing length, breath and height. Include following
methods in it:
a) Decrement, Overload -- operator (both prefix & postfix)
b) Overload operator==(to check equality of two boxes), as a friend function
c) Overload Assignment operator
d) Check if it is a Cube or cuboid Write a program which takes input from the user
for length, breath and height to test the above class.
1.
#include <iostream>
using namespace std;
int main() {
  int a, b;
  cout << "Enter an integer: ";
  cin >> a;
  cout << "Enter another integer: ";
  cin >> b;
  cout << "The sum is " << a + b << endl;
  cout << "The product is " << a * b << endl;
  return 0;
}
2.
#include <iostream>
using namespace std;
class Box {
public:
  Box(int l=0, int b=0, int h=0);
  Box& operator=(const Box& b);
  Box& operator--();    // Prefix
  Box operator--(int);   // Postfix
  bool isCube() const;
  friend bool operator==(const Box& b1, const Box& b2);
private:
  int length;
  int breath;
  int height;
};
Box::Box(int l, int b, int h)
{
  length = l>0 ? l : 0;
  breath = b>0 ? b : 0;
  height = h>0 ? h : 0;
}
Box& Box::operator=(const Box& b)
{
  length = b.length;
  breath = b.breath;
  height = b.height;
  return *this;
}
Box& Box::operator--()
{
  length = length > 0 ? --length : 0;
  breath = breath > 0 ? --breath : 0;
  height = height > 0 ? --height : 0;
  return *this;
}
Box Box::operator--(int)
{
  Box tmp = *this;
  length = length > 0 ? --length : 0;
  breath = breath > 0 ? --breath : 0;
  height = height > 0 ? --height : 0;
  return tmp;
}
bool Box::isCube() const
{
  return length == breath && length == height;
}
bool operator==(const Box& b1, const Box& b2)
{
  return b1.length == b2.length &&
      b1.breath == b2.breath &&
      b1.height == b2.height;
}
int main() {
  int l, b, h;
  cout << "Enter length, breath and height: ";
  cin >> l >> b >> h;
  Box box1(l, b, h);
  Box box2;
  box2 = box1;
 Â
  cout << "Test box2 = --box1" << endl;
  if (box2 == --box1) {
    cout << "True" << endl;
  }
  else {
    cout << "False" << endl;
  }
  box2 = box1;
  cout << "Test box2 = box1--" << endl;
  if (box2 == box1--) {
    cout << "True" << endl;
  }
  else {
    cout << "False" << endl;
  }
  if (box1.isCube()) {
    cout << "box1 is a cube" << endl;
  }
  else {
    cout << "box1 is not a cube" << endl;
  }
  return 0;
}
Comments
Leave a comment