diff --git a/tools/aconfig/src/codegen_cpp.rs b/tools/aconfig/src/codegen_cpp.rs
index 2c32bb0..37b058d 100644
--- a/tools/aconfig/src/codegen_cpp.rs
+++ b/tools/aconfig/src/codegen_cpp.rs
@@ -134,18 +134,12 @@
 
         namespace com::example {
 
-            class my_flag_one {
-                public:
-                    virtual const bool value() {
-                        return false;
-                    }
+            static const bool my_flag_one() {
+                return false;
             }
 
-            class my_flag_two {
-                public:
-                    virtual const bool value() {
-                        return true;
-                    }
+            static const bool my_flag_two() {
+                return true;
             }
 
         }
@@ -201,24 +195,18 @@
 
         namespace com::example {
 
-            class my_flag_one {
-                public:
-                    virtual const bool value() {
-                        return GetServerConfigurableFlag(
-                            "ns",
-                            "com.example.my_flag_one",
-                            "false") == "true";
-                    }
+            static const bool my_flag_one() {
+                return GetServerConfigurableFlag(
+                    "ns",
+                    "com.example.my_flag_one",
+                    "false") == "true";
             }
 
-            class my_flag_two {
-                public:
-                    virtual const bool value() {
-                        return GetServerConfigurableFlag(
-                            "ns",
-                            "com.example.my_flag_two",
-                            "true") == "true";
-                    }
+            static const bool my_flag_two() {
+                return GetServerConfigurableFlag(
+                    "ns",
+                    "com.example.my_flag_two",
+                    "true") == "true";
             }
 
         }
