关于类属性的有关问题!

关于类属性的问题!!
像下面两种方式定义类
class   A
{
public:

            A();

virtual   ~A();
protected:
int   m_Id;
CString   m_Name;
double   m_Mark;
}

class   B
{
public:
            B();
          virtual   ~B();
protected:
int*   m_Id;
CString*   m_Name;
double*   m_Mark;
}
像这样在类的属性中,定义指针型的变量和非指针型的变量有什么不同。
有那些优缺点?或者说只是习惯的问题呢?

------解决方案--------------------
根据你的用途了
占用空间也不相同
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)
------解决方案--------------------
这个问题不好回答,得根据你程序要实现的功能具体考虑用什么类型。

LZ还是对指针不熟,建议多了解,多看别人的程序你很快就会明白为什么有的地方必须用指针。
------解决方案--------------------
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)
------解决方案--------------------
如果定义的是变量的话,占得空间大一些,但是用的时候不用再分配空间
如果是指针的话,用的时候可能要分配空间(或让它指向一块内存)