Namespaces
Variants

std::money_put<CharT,OutputIt>:: ~money_put

From cppreference.net
ヘッダーで定義 <locale>
protected : ~money_put ( ) ;

std:: money_put ファセットを破棄します。このデストラクタは protected かつ仮想です( 基底クラス のデストラクタが仮想であるため)。 std:: money_put 型のオブジェクトは、ほとんどのファセットと同様に、このファセットを実装する最後の std::locale オブジェクトがスコープ外になるか、ユーザー定義クラスが std:: money_put から派生して public デストラクタを実装した場合にのみ破棄できます。

#include <iostream>
#include <locale>
struct Destructible_money_put : public std::money_put<wchar_t>
{
    Destructible_money_put(std::size_t refs = 0) : money_put(refs) {}
    // 注: 暗黙のデストラクタはpublic
};
int main()
{
    Destructible_money_put dc;
    // std::money_put<wchar_t> c; // コンパイルエラー: protectedデストラクタ
}