[quote=引用 12 楼 ri_aje 的回复:] c++ 虚函数加基类就是 java 里的接口,非得特别喜欢接口的话,还可以用抽象类。如果你不会用或用着觉得别扭就只能是你自己的问题了。 c++ 还可以用范型提供更漂亮的设计,java 什么都得面向对象,甭管面向对象是否合适。
struct A { virtual void func () = 0 ; } ; struct B :public A { void func () override {} } ; void call (A &a) { a.func () ; } int main () { call (B ()) ; return 0 ; }
c++ 虚函数加基类就是 java 里的接口,非得特别喜欢接口的话,还可以用抽象类。如果你不会用或用着觉得别扭就只能是你自己的问题了。 c++ 还可以用范型提供更漂亮的设计,java 什么都得面向对象,甭管面向对象是否合适。
[quote=引用 7 楼 gldcpp 的回复:] [quote=引用 5 楼 ID870177103 的回复:] 这样不可以吗? struct A { virtual void func () = 0 ; } ; struct B :public A { void func () override {} } ; void call (A &a) { a.func () ; } int main () { call (B ()) ; return 0 ; }
[quote=引用 5 楼 ID870177103 的回复:] 这样不可以吗? struct A { virtual void func () = 0 ; } ; struct B :public A { void func () override {} } ; void call (A &a) { a.func () ; } int main () { call (B ()) ; return 0 ; }
java和c++在设计上不具可比性。我觉得。
这样不可以吗? struct A { virtual void func () = 0 ; } ; struct B :public A { void func () override {} } ; void call (A &a) { a.func () ; } int main () { call (B ()) ; return 0 ; }
C语言可以通过函数指针实现接口
64,685
社区成员
250,491
社区内容
加载中
试试用AI创作助手写篇文章吧