Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- // inicio de Declaracion de Clase
- class Rectangulo
- {
- // metodos o funciones internas
- // public: desde main u otros hay acceso
- public:
- // constructores y sobrecarga de constructor:
- Rectangulo();
- Rectangulo(int x);
- Rectangulo(int x, int y);
- Rectangulo(const Rectangulo & otro);
- ~Rectangulo(); // el destructor
- // sobrecarga de metodo:
- void setLados(int lado1, int lado2);
- void setLados(int lado);
- // setters y getters || modificadores y consultores
- int getLargo();
- void setLargo(int a);
- int getAncho();
- void setAncho(int a);
- // fin de setters y getters || modificadores y consultores
- // EJERCICIO EN CLASES construya y pruebe:
- int area(); // devuelve el area
- int perimetro(); // devuelve el perimetro
- bool esCuadrado(); // si es cuadrado devuelve true
- // private solo los objetos de la clase tiene acceso
- private:
- // atributos
- int largo;
- int ancho;
- };
- // fin de Declaracion de Clase
- int main() {
- int valor;
- cout << "Mi primera Clase: Rectangulo !\n";
- cout << "creacion de rectangulos" << endl;
- Rectangulo azul;
- Rectangulo verde;
- Rectangulo amarillo(7,12);
- Rectangulo rosado(amarillo);
- azul.setLados(3,8);
- verde.setLados(12,4);
- cout << "amarillo tiene ancho " << amarillo.getAncho() << endl;
- cout << "azul tiene ancho " << azul.getAncho() << endl;
- azul.setLados(9);
- cout << "azul tiene ancho " << azul.getAncho() << endl;
- cout << "azul tiene largo " << azul.getLargo() << endl;
- valor = verde.getLargo();
- cout << "verde tiene largo " << valor << endl;
- valor = verde.area();
- cout << "verde tiene area " << valor << endl;
- verde.setLargo(15);
- valor = verde.area();
- cout << "verde tiene area " << valor << endl;
- }
- Rectangulo::Rectangulo()
- {
- // opcion 1:
- this->setLados(0,0);
- /*
- // opcion 2:
- // no es recomendable
- this->largo = 0;
- this->ancho = 0;
- */
- }
- Rectangulo::Rectangulo(int x, int y)
- {
- this->setLados(x,y);
- }
- Rectangulo::Rectangulo(int x)
- {
- this->setLados(x,x);
- }
- Rectangulo::Rectangulo(const Rectangulo & otro)
- {
- // copiar todos los atributos del objeto:
- this->largo = otro.largo;
- this->ancho = otro.ancho;
- }
- Rectangulo::~Rectangulo()
- {
- cout << "soy el destructor ";
- cout << this->largo << " " << this->ancho;
- cout << endl;
- }
- void Rectangulo::setLados(int lado)
- {
- this->setLados(lado,lado);
- }
- void Rectangulo::setLados(int lado1, int lado2)
- {
- if (lado1>lado2)
- {
- this->largo = lado1;
- this->ancho = lado2;
- } else
- {
- this->largo = lado2;
- this->ancho = lado1;
- }
- }
- int Rectangulo::getAncho()
- {
- return this->ancho;
- }
- void Rectangulo::setAncho(int a)
- {
- if (a<=this->largo)
- { this->ancho = a; }
- else
- {
- this->ancho = this->largo;
- this->largo = a;
- }
- }
- int Rectangulo::getLargo()
- {
- return this->largo;
- }
- void Rectangulo::setLargo(int a)
- {
- if (a>=this->ancho)
- {
- this->largo = a;
- }
- else
- {
- this->largo = this->ancho;
- this->ancho = a;
- }
- }
- bool Rectangulo::esCuadrado()
- {
- if ((this->largo == this->ancho)&&(largo>0))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- int Rectangulo::perimetro()
- {
- return 2*(this->largo + this->ancho);
- }
- int Rectangulo::area()
- {
- return this->largo * this->ancho;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement