public void TestVirtualFuntionRetVal() { // Virtual Functions Object Slicing case // See http://stackoverflow.com/questions/3479712/virtual-functions-object-slicing var baseVirtual = BaseClassVirtual.Base; TestVirtualFunction(baseVirtual, 5); BaseClassVirtual baseClass = new DerivedClassVirtual(); TestVirtualFunction(baseClass, 10); var basePtr = BaseClassVirtual.BasePtr; TestVirtualFunction(basePtr, 10); var managed = new ManagedDerivedClassVirtual(); TestVirtualFunction(managed, 15); baseClass = managed; TestVirtualFunction(baseClass, 15); var retBase = new ManagedDerivedClassVirtualRetBase(); TestVirtualFunction(retBase, 10); }
public void TestVirtualFuntionRetVal() { // Virtual Functions Object Slicing case // See http://stackoverflow.com/questions/3479712/virtual-functions-object-slicing var baseVirtual = BaseClassVirtual.GetBase(); TestVirtualFunction(baseVirtual, 5); BaseClassVirtual baseClass = new DerivedClassVirtual(); TestVirtualFunction(baseClass, 10); var basePtr = BaseClassVirtual.GetBasePtr(); TestVirtualFunction(basePtr, 10); var managed = new ManagedDerivedClassVirtual(); TestVirtualFunction(managed, 15); baseClass = managed; TestVirtualFunction(baseClass, 15); var retBase = new ManagedDerivedClassVirtualRetBase(); TestVirtualFunction(retBase, 10); }