[解決済み] 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();
関連
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】Visual Studio 2013および2015でC++コンパイラーエラーC2280「削除された関数を参照しようとした」が発生する
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み】C++の余分な資格エラー
-
[解決済み】標準ライブラリにstd::endlに相当するタブはあるか?
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】構造体のベクター初期化について
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】標準ライブラリにstd::endlに相当するタブはあるか?