// returnref.cpp - Referencia como valor retornado
#include <iostream>

// Estructura de datos punto
struct punto
{
  // Atributos
  int x; // coordenada x
  int y; // coordenada y

  // Métodos
  int &cx() // devuelve una referencia a x
  {
    return x;
  }
  int &cy() // devuelve una referencia a y
  {
    return y;
  }
};
// Fin de la estructura de datos punto

int main()
{
    punto origen;

    // Utilizar cx() y cy() como l-values
    origen.cx() = 60;
    origen.cy() = 80;

    // Utilizar cx() y cy() como r-values
    printf("x = %d\ny = %d\n", origen.cx(), origen.cy());
}

