I am beginner programmer in the programming world. I am learning the programming C++, C sharp, Java, .NET and DBMS. Now a days, i am working on the Java and C sharp language. I want to know how does abstract function differs from virtual function, in which case it is better to use abstract or virtual function? Please help me.