//Rectangle.h
#ifndef RECTANGLE_H
#define RECTANGLE_H
class Rectangle
{
private:
double width;
double length;
public:
//constructor
Rectangle() = default;
Rectangle(double w, double l):width(w), length(l){}
//accessor
double getWidth() const {return width;}
double getLength() const {return length;}
double getArea() const {return width*length;}
//mutator
void setWidth(double w) {width = w;}
void setLength(double l) {length = l;}
Rectangle(const Rectangle&) = delete;
Rectangle& operator=(const Rectangle &) = delete;
//destructor
virtual ~Rectangle() = default;
};
#endif
//main.cpp
#include <iostream>
#include "Rectangle.h"
int main(int argc, char *argv[])
{
Rectangle r;
r.setWidth(5);
r.setLength(10);
std::cout<<r.getArea()<<std::endl;
//Rectangle r2(r);//preventing calling copy constructor
Rectangle r2;
//r2 = r;//preventing calling assignment constructor
return 0;
}