5

私は本 (C++ による Schaums プログラミング) から C++ を自己学習しています。

hrs::を含むクラスがありminsますsecs。オブジェクトを合計の形式で整数として返す型変換を書くことは可能ですか?

そうでない場合は、何も見つからない可能性があります。ありがとう。

4

3 に答える 3

14

もちろん、キャスト演算子を書くだけです。時間を秒に変換したい場合:

class MyTime
{
    ...

public:
    operator int() const
    {
        return hours_ * 3600 + minutes_ * 60 + seconds_;
    }
}

C++11 では、演算子にキーワードを追加して、コンパイルのためにexplicitキャストが明示的に a を要求するようにすることもできます。static_cast<int>

于 2012-12-05T18:45:21.100 に答える
2

これが秒単位の解像度の期間であると仮定すると、そうです-hours * 3600 + minutes * 60 + seconds期間の整数秒数が得られるようなものです。

于 2012-12-05T18:44:16.327 に答える
0

クラスを必要な整数値に変換する関数を作成できます。型キャスト メソッドはオーバーロードできます。ここを参照してください: http://www.learncpp.com/cpp-tutorial/910-overloading-typecasts/

于 2012-12-05T18:43:59.743 に答える