@@ -26,6 +26,18 @@ struct CppDrvd : CppBase {
26
26
int drvd_value;
27
27
};
28
28
29
+ struct CppDrvd2 : CppBase {
30
+ explicit CppDrvd2 (int value) : CppBase(value), drvd2_value(value * 5 ) {}
31
+ int get_drvd2_value () const { return drvd2_value; }
32
+ void reset_drvd2_value (int new_value) { drvd2_value = new_value; }
33
+
34
+ int get_base_value_from_drvd2 () const { return get_base_value (); }
35
+ void reset_base_value_from_drvd2 (int new_value) { reset_base_value (new_value); }
36
+
37
+ private:
38
+ int drvd2_value;
39
+ };
40
+
29
41
} // namespace test_python_multiple_inheritance
30
42
31
43
TEST_SUBMODULE (python_multiple_inheritance, m) {
@@ -42,4 +54,11 @@ TEST_SUBMODULE(python_multiple_inheritance, m) {
42
54
.def (" reset_drvd_value" , &CppDrvd::reset_drvd_value)
43
55
.def (" get_base_value_from_drvd" , &CppDrvd::get_base_value_from_drvd)
44
56
.def (" reset_base_value_from_drvd" , &CppDrvd::reset_base_value_from_drvd);
57
+
58
+ py::class_<CppDrvd2, CppBase>(m, " CppDrvd2" )
59
+ .def (py::init<int >())
60
+ .def (" get_drvd2_value" , &CppDrvd2::get_drvd2_value)
61
+ .def (" reset_drvd2_value" , &CppDrvd2::reset_drvd2_value)
62
+ .def (" get_base_value_from_drvd2" , &CppDrvd2::get_base_value_from_drvd2)
63
+ .def (" reset_base_value_from_drvd2" , &CppDrvd2::reset_base_value_from_drvd2);
45
64
}
0 commit comments