it doesn't shows the correct values

Code:
/*Triangle.hpp*/
#include <iostream>
using namespace std;
class Triangle
{
  public:
    Triangle();
    ~Triangle();
    int GetSideC() const {return *itsSideC;}
    int GetSideA() const {return *itsSideA;}
    int GetSideB() const {return *itsSideB;}
    void SetSideC(int c) {itsSideC = &c;}
    void SetSideA(int a) {itsSideA = &a;}
    void SetSideB(int b) {itsSideB = &b;}
  private:
    int *itsSideC;
    int *itsSideA;
    int *itsSideB;
};

Triangle::Triangle()
{
  itsSideC = new int (0);
  itsSideA = new int (0);
  itsSideB = new int (0);
}

Triangle::~Triangle()
{
  delete itsSideC;
  delete itsSideA;
  delete itsSideB;
}


/*myTriangle.cpp*/
#include "Triangle.hpp"

int main()
{
  Triangle myTriangle;
  myTriangle.SetSideC(5);
  myTriangle.SetSideA(4);
  myTriangle.SetSideB(3);
  
  cout << "Triangle" << endl;
  cout << "Side C:\t" << myTriangle.GetSideC() << endl;
  cout << "Side A:\t" << myTriangle.GetSideA() << endl;
  cout << "Side B:\t" << myTriangle.GetSideB() << endl;
  
  cin.get();
  return 0;
}