Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
harj2
harj2

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
harj3
harj3
    return 0;
}

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
harj4
harj4

    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&nbsp;2*m_Pii*r;

...


}

...



void CLuokka::TeeJotain()

...


{
    m_Luku = 2;

...


}

Harjoitus 5:

Aiheet: Funktioiden ylikuormitus.

...