急问 c++ 的运算符 “.”和“->”的用法非常之感谢,该怎么解决

急问 c++ 的运算符 “.*”和“->*”的用法非常之感谢
#include   <iostream>
using   namespace   std;

class   integer{

public:int   *p;
integer   (int   a)
{
*p=a;
}
};

int   main()

{
integer   d(5);

d.*p;



}
编译总是错误说p没有定义?不知道为什么,急请教

------解决方案--------------------
#include "Defines.h "

class A
{
public:
A(int a)
{
//m_p = new int(a);
}
A()
{
//m_p = new int (0);
}
~A()
{
//delete m_p;
}

public:
int m_p;
int m_p2;
};

int _tmain()
{
A *a = new A;
a-> m_p = 5;
a-> m_p2 = 6;
int A::*b = &A::m_p;
Cout < < a-> *b < < Endl;
b = &A::m_p2;
Cout < < a-> *b < < Endl;
delete a;
}