Constructing ExampleVirt.. Original implementation of ExampleVirt::run(state=10, value=20) 30 Caught expected exception: Tried to call pure virtual function "ExampleVirt::pure_virtual" Constructing ExampleVirt.. ExtendedExampleVirt::run(20), calling parent.. Original implementation of ExampleVirt::run(state=11, value=21) 32 ExtendedExampleVirt::run_bool() False ExtendedExampleVirt::pure_virtual(): Hello world VI_AR: hihihi Unlucky = 99 VI_AT: hihihi Unlucky = 999 B_Repeat: B says hi 3 times Unlucky = 13 Lucky = 7.00 B_Tpl: B says hi 3 times Unlucky = 13 Lucky = 7.00 C_Repeat: B says hi 3 times Unlucky = 4444 Lucky = 888.00 C_Tpl: B says hi 3 times Unlucky = 4444 Lucky = 888.00 VI_CR: B says hi 3 times Unlucky = 4444 Lucky = 889.25 VI_CT: B says hi 3 times Unlucky = 4444 Lucky = 888.00 VI_CCR: B says hi 3 times Unlucky = 4444 Lucky = 8892.50 VI_CCT: B says hi 3 times Unlucky = 4444 Lucky = 888000.00 D_Repeat: B says hi 3 times Unlucky = 4444 Lucky = 888.00 D_Tpl: B says hi 3 times Unlucky = 4444 Lucky = 888.00 VI_DR: B says hi 3 times Unlucky = 123 Lucky = 42.00 VI_DT: VI_DT says: quack quack quack Unlucky = 1234 Lucky = -4.25 2^2 * 3^2 = NonCopyable destructor @ 0x1a6c3f0; value = (null) 36 NonCopyable destructor @ 0x7ffc6d1fbaa8; value = 36 4 + 5 = Movable @ 0x7ffc6d1fbacc copy constructor 9 Movable destructor @ 0x7ffc6d1fbacc; value = 9 7 + 7 = Movable @ 0x7ffc6d1fbacc move constructor Movable destructor @ 0x1a6c4d0; value = 14 14 Movable destructor @ 0x7ffc6d1fbacc; value = 14 Caught expected exception NonCopyable destructor @ 0x29a64b0; value = 81 Movable destructor @ 0x1a6c410; value = 9 Destructing ExampleVirt.. Destructing ExampleVirt..