两段代码,JAVA and CPP,输出相同结果:
1 #include "stdafx.h" 2 #include <iostream> 3 4 using namespace std; 5 class A { 6 public: 7 virtual void f(){ 8 cout << "hello world" << endl; 9 } 10 }; 11 12 class B : virtual public A { 13 public: 14 virtual void f() override{ 15 cout << "hello" << endl; 16 } 17 }; 18 19 class C : virtual public A { 20 21 }; 22 23 class Main : public B, public C{ 24 25 }; 26 27 int main(){ 28 Main* obj = new Main; 29 obj->f(); 30 A* a = new Main; 31 a->f(); 32 B* b = new Main; 33 b->f(); 34 C* c = new Main; 35 c->f(); 36 }
1 interface A{ 2 default void f(){ 3 System.out.println("hello world"); 4 } 5 } 6 7 interface B extends A { 8 @Override 9 default void f(){ 10 System.out.println("hello"); 11 } 12 } 13 14 interface C extends A{ 15 16 } 17 public class Main implements B, C{ 18 19 public static void main(String[] args) { 20 Main obj = new Main(); 21 obj.f(); 22 A a = new Main(); 23 a.f(); 24 B b = new Main(); 25 b.f(); 26 C c = new Main(); 27 c.f(); 28 } 29 30 }
前几天自己在QQ群中发的公告:
首先,还是那句老话,编程最重要的是实践,这是无数大神苦口婆心说的经验,你上面代码中写的,接口默认方法,虚继承(many mystery),多继承甚至你一万年以内都不会用到,总是想这些什么卵用都没有,编程能力得不到丝毫提升,更不用说有些东西甚至是你自己臆测出来的!更是垃圾!一点用都没有!
实践实践实践!!希望你抛弃这些语言实现细节等繁文缛节,不要再想这些你可能永远都用不到的东西,真正提高自己的编程能力才是重要的!
其次,术业有专攻,你现在以及可见的未来,最最最应该做的,就是花费全部时间用尽全力竭尽所能成为DL and NLP大神!!把所有精力用在你应该做的事情上!!
紧赶慢赶赶出来的组会PPT,被师姐评价为基本没有参考价值的论文,你什么时候听她这么评价过别人讲的,即使是无心之语,也足以说明你现在和她的差距,真的挺大的!!要想成为课题组的传奇,李老师的骄傲,要想实现自己的梦想,成为deep learning 大神,就应该只把时间花在自己应该做的事情上,全力飞快提高自己,
多看paper,多研究算法,多实践实验!!!
加油加油加油!!!