Des*_*tor 1 c++ java inheritance abstract-class pure-virtual
考虑遵循Java程序:
abstract class Surprising
{
void fun()
{
System.out.println("fun() is invoked");
}
}
class myclass
{
public static void main(String args[])
{
Surprising s=new Surprising() { };
s.fun();
}
}
Run Code Online (Sandbox Code Playgroud)
这里我创建了我的抽象类令人惊讶的无名子类的对象,而不是抽象类的对象,因为它不允许在Java中创建抽象类的对象.
什么是等效的C++程序?是否可以在C++中执行此操作?如果是,怎么回事,为什么不允许?
让我们说我们有班级A:
class A
{
...
};
Run Code Online (Sandbox Code Playgroud)
现在要创建它的衍生物,我们使用例如
class B : public A
{
...
};
Run Code Online (Sandbox Code Playgroud)
现在要创建一个匿名类的对象,我们根本就不提供类名:
class
{
...
} anon_object;
Run Code Online (Sandbox Code Playgroud)
最后我们结合了两种方式,继承和匿名类:
class : public A
{
...
} anon_a_derived_object;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |