Fixing pointer up and downcasting

This commit is contained in:
HOEGLER Stefan
2020-03-09 19:22:21 +01:00
parent f232cffe30
commit 80b57f5134
3 changed files with 26 additions and 2 deletions
+12 -1
View File
@@ -12,8 +12,9 @@ struct TestStruct
: data(10)
{
}
~TestStruct()
virtual ~TestStruct()
{
data = 15;
}
uint32 data;
};
@@ -33,7 +34,16 @@ BOOST_AUTO_TEST_CASE(basic_refcount)
struct DerivedStruct : public TestStruct
{
DerivedStruct()
:data2(20)
{
}
~DerivedStruct()
{
data2 = 30;
}
uint32 data2;
};
BOOST_AUTO_TEST_CASE(inheritance_cast)
@@ -46,6 +56,7 @@ BOOST_AUTO_TEST_CASE(inheritance_cast)
backCast = base.cast<DerivedStruct>();
}
BOOST_REQUIRE_EQUAL(backCast->data, 10);
BOOST_REQUIRE_EQUAL(backCast->data2, 20);
}
BOOST_AUTO_TEST_CASE(unique_ptr)