...
Code Block |
---|
#include "Elain.h" int main(int argc, char* argv[]) { CElain kissa("miuku", 2.4); // Luodaan olio CElain luokasta ja annetaan nimi ja massa parametreina kissa.Tulosta(); return 0; } |
Anchor | ||||
---|---|---|---|---|
|
Harjoitus 2:
Aiheet: Periytyminen.
Elain.h:
Code Block |
---|
#include <stdio.h> |
...
#include <string.h> |
...
class CElain |
...
{
private: // privaatti, vain luokan sisällä voidaan muuttaa
|
...
char m_Nimi |
...
[100 |
...
]; // Eläimen nimi |
...
float m_Massa; // Eläimen massa, paino |
...
void TulostaNimi(); // Tulostaa ruudulle eläimen |
...
nimen void TulostaMassa(); // Tulostaa ruudulle eläimen |
...
massan public: // julkinen, kaikki voi kutsua |
...
bool AsetaNimi(char Nimi |
...
[ |
...
]); // Asettaa eläimen nimen |
...
bool AsetaMassa(float Massa); // Asettaa eläimen massan |
...
void Tulosta(); }; |
Elain.cpp:
Code Block |
---|
#include "Elain.h" // CElain-luokan headeri |
...
bool CElain::AsetaNimi(char Nimi |
...
[ |
...
])
|
...
{
|
...
strcpy(m_Nimi, Nimi); // Kopioidaan nimi luokkaan |
...
return true; } |
...
void CElain::TulostaNimi() |
...
{ printf("Eläimen nimi on %s\n", m_Nimi); |
...
} |
...
bool CElain::AsetaMassa(float Massa) |
...
{ m_Massa = Massa; |
...
return true; |
...
} |
...
void CElain::TulostaMassa() |
...
{ printf("Eläimen massa on %.2f kiloa\n", m_Massa); |
...
} |
...
void CElain::Tulosta() |
...
{ TulostaNimi(); |
...
TulostaMassa(); |
...
} |
Kissa.h:
Code Block |
---|
#include "Elain.h" |
...
class CKissa |
...
: public CElain { public: CKissa(void); |
...
~CKissa(void); |
...
void Kehraa(); |
...
}; |
Kissa.cpp:
Code Block |
---|
#include "Kissa.h" |
...
CKissa::CKissa(void) |
...
{ |
...
} |
...
CKissa::~CKissa(void) |
...
{ |
...
} |
...
void CKissa::Kehraa() |
...
{ printf("Kehraa..."); |
...
} |
main.cpp:
Code Block |
---|
#include <stdio.h> |
...
#include <conio.h> |
...
#include "Kissa.h" |
...
int main() |
...
{ CKissa kissa; kissa.AsetaNimi("Miuku"); |
...
kissa.AsetaMassa(1.2); |
...
kissa.Tulosta(); |
...
kissa.Kehraa(); |
...
getch(); return 0; } |
Anchor | ||||
---|---|---|---|---|
|
}
Harjoitus 3:
Aiheet: Tulostaminen cin ja cout ja käyttäjän syötteen lukeminen cin ja cout -olioilla.
main.cpp:#include <iostream>
Code Block |
---|
#include |
...
using namespace std;
...
<iostream> #include <string> using namespace std; int main() |
...
{
|
...
int Luku1, Luku2; |
...
char Operaattori; |
...
char Nimi |
...
[100 |
...
]; |
...
cout << "Anna nimesi: "; |
...
cin >> Nimi;
cout << "Anna 1. luku: ";
cin >> Luku1;
cout << "Anna 2. luku: ";
cin >> Luku2;
cout << "Anna operaattori: + - * / ";
cin >> Operaattori;
cout << "Hei " << Nimi << ", annoit laskutoimituksen: " << Luku1 << " " << Operaattori << " " << Luku2 << endl;
return 0;
}
|
Anchor | ||||
---|---|---|---|---|
|
cout << "Anna 1. luku: ";
cin >> Luku1;
cout << "Anna 2. luku: ";
cin >> Luku2;
cout << "Anna operaattori: + - * / ";
cin >> Operaattori;
cout << "Hei " << Nimi << ", annoit laskutoimituksen: " << Luku1 << " " << Operaattori << " " << Luku2 << endl;
return 0;
}
Harjoitus 4:
Aiheet: Const-määritteet.
main.cpp:
Code Block |
---|
#include "Luokka.h" |
...
int main() |
...
{ const CLuokka luokka; luokka.YmpyranKeha(1.2467); |
...
CLuokka luokka2; luokka2.YmpyranKeha(283947); |
...
luokka2.TeeJotain(); |
...
} |
Luokka.h:
Code Block |
---|
class CLuokka |
...
{ |
...
private: |
...
const float m_Pii; // const tarkoittaa vakiota. Arvo ei voi muuttua ohjelman ajon |
...
aikana int m_Luku; |
...
public: |
...
CLuokka(); |
...
float YmpyranKeha(const float r) const; // Parametri on const, arvo ei voi muuttua funktion |
...
sisällä void TeeJotain(); |
...
}; |
Luokka.cpp:
Code Block |
---|
#include "Luokka.h" |
...
CLuokka::CLuokka() |
...
: m_Pii(3.14) |
...
{ m_Luku = 0; |
...
} |
...
float CLuokka::YmpyranKeha(const float r) const |
...
{ return 2*m_Pii*r; |
...
} |
...
void CLuokka::TeeJotain() |
...
{ m_Luku = 2; |
...
} |
Harjoitus 5:
Aiheet: Funktioiden ylikuormitus.
...