victor,
the problem now come from the
test(int i){}
constructor you added in.
keep in mind "the contruction of subclass can not be start till the conturction of superclass is done"
when compiler check the above line, since you do not provide either super() or this() in the test(int i) {}, one 0 argument superclass contructor will be inserted implictly then the code become
test(int i) {
super() // inserted by compiler implictly
}
Then when you commented out base(){}, you dont have any 0 argument constructor in your base definition...compiler flag the error.
hope this help.