I've mentioned in the other thread, what the UML 2.2 Superstructure definition tells us about this convention(?): Nothing!
It recommends to use italic fonts for abstract classifier names, but there's no notion given about how to render names of operations.
Pure virtual methods, like they are used in C++, are a language specific concept, and thus,- I guess -, not considered by UML at all. There's not even an attribute (like e.g. 'isAbstract' for classfiers) provided for operations.
Many (more modern?) languages, like Java, C# and others introduce the concept of interfaces or allow to specify operation signatures as 'delegates' (function pointer type definitions in C++), which focuses the problem more clearly IMHO: It's about definition of contracts.
I'd recommend to teach your students the problem domain (interfaces/contracts) first and afterwards how to implement it properly in UML / C++, and maybe mention other languages.
C++ "lacks" an intrinsic way to express what is an interface, other languages don't provide a concept of 'abstract' operation definitions. So go to the meta level to put it from an abstract point of view.
BTW, I personally find the 'italic' rendering for virtual and abstract methods very useful in practice. Because what I'm usually interested in, when looking at a diagram for extension of the model, is which methods can be overridden. For that it doesn't matter at least if these were defined as virtual or pure virtual.
HTH
Günther