在c ++中访问类字段

时间:2013-03-03 11:23:44

标签: c++ class this field

我无法访问以下C ++代码中的class'es字段:

class Human
{
     string address;
 public:
     void setAddress( string address )
     {
         this.address = address;
     }
};

此代码将导致错误“错误C2228:'.address'必须具有class / struct / union”。这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:7)

this是指向当前实例的指针,因此您应该使用->而不是点。

答案 1 :(得分:1)

  class Human
{
     string m_address;
 public:
     void setAddress( string address )
     {
         m_address = address;
     }
};

与JavaScript不同,您不需要使用“this”。这里通常给函数参数一个不同的名称以避免歧义