C ++等同于self.object(python)

时间:2014-02-17 16:10:31

标签: c++

我是C ++的新手,但现在已经使用python了一段时间......我无法弄明白...... 我尝试使用“this”指针,但是我收到错误,所以我想知道是否有人能指出我正确的方向。

由于

这就是我想要实现的目标:

我有一个约会和一个人课,我必须添加一个班级方法来检查这个人是成人还是孩子

到目前为止,这是我的方法:

bool isAdult()
{
    util::Date today = util::Date();

    int age = today.getYear()- this.getYear();

    if (today.getMonth() < this.getMonth() || (today.getMonth() == this.getMonth() && today.getDay() < this.getDay()))
    {
        age = age -1;
    }

    if (age >= 18)
    {return true;}
    else{return false;}


}

为什么我能做这样的事情:

ostringstream os;
os << getDay() << " \n";
os << getMonth() << " \n";
os << getYear();

但我不能这样做:

long year = getYear();

1 个答案:

答案 0 :(得分:5)

在C ++中,this是指针类型,因此您可能需要取消引用它以调用成员。

有两种方法可以取消引用调用成员的指针:

// Using the * operator to get the actual instance
auto result = (*this).do_something();

// Using the -> operator to dereference and get/invoke member simultaneously
auto result = this->do_something();