1. ホーム
  2. c++

[解決済み] self.object(python)と同等のC++版

2022-02-01 18:18:30

質問

私は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();

解決方法は?

C++の場合。 this はポインタ型なので、おそらくメンバを呼び出すにはそれをデリファレンスする必要があります。

メンバーを呼び出すためのポインタのデリファレンスには、2つの方法があります。

// 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();