classAbstrakcyjna{public:virtualvoidmetodaCzystoWirtualna()=0;// metoda czysto wirtualna};classNieabstrakcyjna:publicAbstrakcyjna{// dziedziczeniepublic:voidmetodaCzystoWirtualna(){// implementacja metody czysto wirtualnej// instrukcje metodyreturn;}};intmain(){// Abstrakcyjna obiektX; // błąd, klasa jest abstrakcyjnaNieabstrakcyjnaobiektY;// poprawnereturn0;}
abstractclassFigura{abstractpublicdoublepole();}classKoloextendsFigura{//dziedziczeniepublicdoublepromien;publicKolo(doublep){this.promien=p;}// implementacja metody czysto wirtualnejpublicdoublepole(){return3.14*promien*promien;}}publicclassProgram{publicstaticvoidmain(String[]args){// Figura f = new Figura(); // niemożliwe: Figura jest klasą abstrakcyjnąKolok=newKolo(2);System.out.println(k.pole());}}