Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Apua Kuvio-luokan kehitykseen

Jampetius [04.12.2012 21:15:14]

#

Eli tarkoitus olisi koulutehtävänä tehdä Kuvio-luokka ja johtaa siitä ympyrä- ja suorakaide-luokat. En vaan ymmärrä sekavista luentomateriaaleista, miten ohjelma tulisi toteuttaa. Isoin ongelma lienee siinä, että en osaa kirjoittaa pääohjelmaan (mainin alle siis)mitään järkevää/toimivaa... Kuvio-luokka luultavasti järkevintä tehdä abstrakti-luokaksi ja siitä juontaa aliluokat.

Jos joku ehtisi auttaa niin se olis hienoa !

Tässä yksinkertainen ja lyhyt koodin pätkä aiheesta:

#include <iostream>
using namespace std;

class Kuvio
{
public:
virtual ~Kuvio()
{
}
virtual void Tulosta() = 0;
};

class Ympyra : public Kuvio
{
public:
void Tulosta()
{
cout << "Olen ympyra...\n";
}
};

int main()
{
Ympyra.Tulosta();
cin.get();
}

Metabolix [04.12.2012 21:33:28]

#

Jos tarkoitus on vain toteuttaa luokat, ei tarvitse tehdä main-funktiota ollenkaan. Muussa tapauksessa main-funktion sisältö riippuu tietenkin siitä, mitä haluat siinä tehdä. Aiheen kannalta jollain tavalla järkevä esimerkkiohjelma voisi olla tällainen:

int main() {
	Ympyra y;
	Suorakaide s;
	Kuvio* k[2] = {&y, &s};
	for (int i = 0; i < 2; ++i) {
		k[i]->Tulosta();
	}
}

Kannattaa myös opetella sisentämään kaikki koodit siististi.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta