class B{
// Base class
}
class D : B{
//Derived class from B
}
//create objects
B b1 = new B();
D d1 = new D();
//why the following is not right?
D d2 = (D) b1;
//下面是对的吗?B b1 = d1;
那么为什么以下工作:
class Test
{
static void Main()
{
double x = 1234.7;
int a;
a = (int)x; // cast double to int
System.Console.WriteLine(a);
}
}
此外,如果我们不能将基类对象强制转换为派生类对象,那么强制转换的概念有什么用呢?