import std.stdio;
@safe:
extern(D) {
abstract class DA {
char foo();
}
class DB : DA {
override char foo() { return 'B'; }
}
class DC : DA {
override char foo() { return 'C'; }
}
}
extern(C++) {
abstract class CA {
char foo();
}
class CB : CA {
override char foo() { return 'b'; }
}
class CC : CA {
override char foo() { return 'c'; }
}
}
void main() {
DB db = new DB;
DA da = db;
DC dc = cast(DC) da;
writeln((dc is null)? "D cast was dynamic." : "D cast was static.");
CB cb = new CB;
CA ca = cb;
CC cc = cast(CC) ca;
writeln((cc is null)? "C++ cast was dynamic." : "C++ cast was static.");
return;
}
09-10
1282
09-22
668
博客
2409js,学习js2
09-21
741
博客
2409js,学习js1
09-20
490
09-20
109
09-20
69
09-18
136
09-16
194
博客
2409wtl,网浏包装
09-08
693
09-08
1027
博客
2409wtl,切换视图
09-07
780
09-07
1022
09-07
342
09-06
866
09-06
927
09-06
261
09-05
231
09-05
354
09-05
323
09-05
427