- TituCPP 4. luento 4.10.
- Kopiorakentaja (Copy Constructor)
- Kopioinnin estäminen
- Oletus
- Estäminen
- Purkaja (Destructor)
- Rakentaja (Constructor)
- Viitteet
- Pointterit
- Olioiden elinkaari
- Kopiointi
- Viitekopiointi
- Matalakopiointi
- Syväkopiointi
- Rajapinnat
- Näkyvyysmääreet
- Tyypit osana rajapintaa
- Sopimussuunnittelu
- Loogiset tarkastukset l. väittämät (Assert-makro)
- cassert (tai assert.h) -standardikirjastossa
- käytetään kehitysaikana varmistamaan, ettei ohjelmaan ole päässyt loogisia virheitä
- kääntäjän optioilla assertit voidaan jättää kääntämättä, joten julkaistavan ohjelman suorituskyky ei kärsi väittämistä
- näitä pitäisi olla ohjelmissa huomattavasti nykyistä enemmän!
- ensimmäinen askel kohti ohjelmien formaalia määritystä
- funktion alussa väittämillä voidaan tarkistaa esiehdot, joiden on oltava voimassa funktioon tultaessa
- esim. tyhjälle pinolle ei voida tehdä POP-operaatiota
- funktion lopussa voidaan tarkistaa jälkiehdot, joiden on oltava voimassa funktion jälkeen ('mitä funktio lupaa toteuttaa')
- esim. POP-operaation jälkeen pinon alkioiden lukumäärä vähenee yhdellä
- eivät korvaa poikkeuskäsittelyä, vaan ovat testauksen apuväline
- esim. tiedoston olemassaolon tarkistusta ei voi laittaa väittämäksi, koska tiedosto on sovelluksesta riippumaton resurssi
- lisätietoa esim. c++ reference
- [ http://www.cplusplus.com/reference/clibrary/cassert/assert.html ]