{"id":"gof-cpp-template-method-nonvirtual","text":"In C++, the template method itself should be non-virtual (cannot be overridden by subclasses) and primitive operations should be protected pure virtual.","truth_value":"IN","source":"entries/2026/06/17/gof-oo-chunk-21.md","source_url":"","source_hash":"","justifications":[],"dependents":["cpp-constraints-form-systematic-language-adaptation-layer","template-method-fine-grained-override-control"],"metadata":{"last_premise_reviewed":"2026-06-17T18:19:22","premise_review_result":"pass"},"created_at":"2026-06-17T21:30:27+00:00","updated_at":"2026-06-17T21:30:27+00:00","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"gof-cpp-template-method-nonvirtual","truth_value":"IN","reason":"premise"}]}}