@@ -26,6 +26,18 @@ struct CppDrvd : CppBase {
2626 int drvd_value;
2727};
2828
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+
2941} // namespace test_python_multiple_inheritance
3042
3143TEST_SUBMODULE (python_multiple_inheritance, m) {
@@ -42,4 +54,11 @@ TEST_SUBMODULE(python_multiple_inheritance, m) {
4254 .def (" reset_drvd_value" , &CppDrvd::reset_drvd_value)
4355 .def (" get_base_value_from_drvd" , &CppDrvd::get_base_value_from_drvd)
4456 .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);
4564}
0 commit comments