Tag Principles and Practice Using C++