Šajā darbā semestra laikā izpildītais 2. laboratorijas darbs pārveidots un izpildīts programmas “Borland C++ Builder 5” vidē. Izveidotā programma izveido matricu un ar to var izpildīt šādas darbības: ievadīt jaunu elementu, nolasīt elementu, atrast kolonnas lielāko elementu un palielināt visus elementus par 1.
1. laboratorijas darbā bija jāizveido funkcija MaxElem, kas atrod lielāko elementu uzdotajā kolonnā, un jāpārbauda šīs funkcijas darbība gan ar statiskiem, gan dinamiskiem Matrix tipa objektiem. Lai varētu veikt darbības ar privātiem klases mainīgajiem, iespējams izmantot tikai klases funkcijas vai draugu funkcijas.
2. laboratorijas darbā bija jāizveido klases Matrix atvasinātā klase ExtendedMatrix. Darbā plaši tika izmantota iespēja atvasinātās klases funkcijās izmantot bāzes klases funkcijas. Šī īpašība attiecas arī uz konstruktoriem un destruktoriem. Radot jaunu atvasinātās klases objektu, vispirms tiek izsaukts bāzes klases konstruktors un pēc tam atvasinātās klases konstruktors, bet dzēšot šo objektu, vispirms tiek izsaukts atvasinātās klases destruktors un pēc tam bāzes klases destruktors.
3. laboratorijas darbā bija jāpārveido funkcijas GetElem un SetElem uz vienu funkciju Elem, kas atbilstošo matricas elementu atgriež kā atmiņas adresi. Šāda pieeja samazina funkciju skaitu klasē un ļauj lietotājam ar klases Matrix elementiem apieties līdzīgi kā ar parastiem matricas elementiem.
Otrs veicamais darbs bija pārdefinēt operatoru ++ . Iespēja pārdefinēt operatorus ir ļoti jaudīga valodas C++ īpašība, kas vienkāršo darbu ar objektiem. Iespējams pārdefinēt visus operatorus, izņemot šos: “.”, “.*”, “::”, “?:”.
Darbā arī bija jāizmanto izņēmumu apstrādes iespējas, izmantojot try un catch operatorus. Tie dod iespēju korekti apstrādāt kļūdainas situācijas programmas izpildes gaitā.…