Esimerkit
Anchor | ||||
---|---|---|---|---|
|
Esimerkki 1:
Aiheet: Luokka, olion luonti sekä jäsenmuuttujien ja metodien käsittely.
Tietokone.h:
Code Block |
---|
class Tietokone
{
private:
int ProsessoriLkm;
int Muisti;
public:
void TulostaTiedot();
void AsetaProsessoriLkm(int);
};
|
Tietokone.cpp:
Code Block |
---|
#include <stdio.h>
#include "Tietokone.h"
void Tietokone::TulostaTiedot()
{
printf("Tietokoneessa on %d prosessoria ja %d muistia\n", ProsessoriLkm, Muisti);
}
void Tietokone::AsetaProsessoriLkm(int p)
{
ProsessoriLkm = p;
}
|
main.cpp:
Code Block |
---|
#include "Tietokone.h"
int main()
{
Tietokone pc; // Tietokone = luokka, pc = olio
pc.AsetaProsessoriLkm(2);
pc.TulostaTiedot();
}
|
Harjoitus 1:
Aiheet: Luokka, olion luonti sekä jäsenmuuttujien ja metodien käsittely.
Elain.h: Wiki Markup
Code Block |
---|
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 |
...
CElain(char Nimi |
...
[ |
...
], float Massa); // Muodostin, parametreina Nimi ja Massa |
...
bool AsetaNimi(char Nimi |
...
[ |
...
]); |
...
// Asettaa eläimen nimen |
...
bool AsetaMassa(float Massa); |
...
// Asettaa eläimen massan |
...
void Tulosta(); }; |
Elain.cpp: #include "stdafx.h" // Ei tarvita, jos tekee Empty Project:in
#include
Code Block |
---|
#include "Elain.h" |
...
// CElain-luokan |
...
headeri CElain::CElain(char Nimi |
...
[ |
...
], float Massa)
|
...
{
|
...
strcpy(m_Nimi, Nimi); // Kopioidaan nimi luokkaan |
...
m_Massa = Massa; } |
...
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(); |
...
} |
main.cpp: #include "stdafx.h"
#include
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:
Code Block |
---|
#include <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.
...