Opérateur d'incrémentation ++, opérateur de décrémentation - il y a des points pré / post. Afin de distinguer si l'opérateur surchargé est pré ou post opérateur, C ++ stipule:
L'opérateur précédent est surchargé en tant qu'opérateur unaire
//重载为成员函数时
T & operator ++()
T & operator --()//重载为全局函数时
T & operator ++(T&)
T & operatot --(T&)
L'opérateur post est surchargé en tant qu'opérateur binaire et écrit un autre paramètre inutile
//重载为成员函数时
T & operator ++(int n)
T & operator --(int n)//重载为全局函数时
T & operator ++(T &,int n)
T & operator --(T &,int n)
Mais lorsqu'il n'y a pas de surcharge post-opérateur mais de surcharge pré-opérateur, dans VS, obj ++ appelle également la pré-surcharge. En dev, l'erreur de compilation obj ++
Lors de l'écriture de la surcharge de l'opérateur <<, j'ai trouvé un problème, c'est-à-dire que la référence du deuxième paramètre à CDemo doit être une référence constante, et compilée sans const. Cependant, l'utilisation de dev est un peu déroutante.