ושאלה אחרת...
בקוד הבא כתוב לי שאין פונקציה בשם raise_sal כשאני מנסה להשתמש בה ב-init_workers. מה הבעיה?
public class WorkerApp { Worker marketing[] = new Worker[5]; Worker engineering[] = new Worker[4]; Worker office[] = new Worker[3]; Manager managers[] = new Manager[2]; President president; void init_workers() { int i,j; for(i=0; i<marketing.length; i++) { marketing = new Worker("W" + i, i, (i+1)*1000); } for(j=0; j<engineering.length; j++, i++) { engineering[j] = new Worker("W" + i, i, (j+1)*1000); } for(j=0; j<(office.length-1); j++, i++) { office[j] = new Worker("W" + i, i, (j+1)*1000); } office[2] = new Consultant("C", 12, 12, 12); office[0].raise_sal(); } void init_managers() { Manager marketing_mgr = new Manager("M1", 101, 30000, marketing); Manager engineering_mgr = new Manager("M2", 102, 20000, engineering); //marketing_mgr.print(); //engineering_mgr.print(); managers[0] = marketing_mgr; managers[1] = engineering_mgr; } void init_president() { president = new President("P1", 1001, 100000, office, managers); } void print_test() { managers[0].print(); managers[1].print(); president.print(); } void pollymorphism_test() { Worker all[] = new Worker[100]; int len = 0; System.arraycopy(marketing, 0, all, len , marketing.length); len += engineering.length; System.arraycopy(engineering, 0, all, marketing.length , len); len += engineering.length; System.arraycopy(office, 0, all, len, office.length); len += office.length; System.arraycopy(managers, 0, all, len, managers.length); len += managers.length; all[len++] = president; for(int i=0; i<len; i++) all.print(); } public static void main (String[] args) { WorkerApp app = new WorkerApp(); app.init_workers(); app.init_managers(); app.init_president(); //app.print_test(); app.pollymorphism_test(); } } class Worker { String name; int ID; float salary; public Worker(String n, int id, float sal) { name = n; ID = id; salary = sal; } public void raise_sal()