{
num = num * num;
cout<<"\t\tInside squareVal(int num): num = "<<num<<endl;
}
void squarePointer(int *num)
{
*num = (*num) * (*num);
cout<<"\t\tInside squarePointer(int *num): *num = "<<*num<<endl;
}
void squareReference(int &num)
{
num = num * num;
cout<<"\t\tInside squareReference(int &num): num = "<<num<<endl;
}
void squarePointerReference(int* &num)
{
*num = (*num) * (*num);
cout<<"\t\tInside squareReference(int &num): *&num = "<<*num<<endl;
}