Terve,
Elikkäs teen tehtävää c olio-ohjelmointiin liittyen mutten vain ymmärrä mitä teen väärin. Pitäisi rakentaa oletusmuodostin mutta ei vaan järki leikkaa miten.
[code]
#include<iostream>
using namespace std;
class Piste
{
public:
Piste();
void TulostaPiste();
void AsetaPiste(int x, int y);
private:
int x_;
int y_;
};
void Piste::TulostaPiste()
{
cout << "Pisteen x-koordinaatti: " << x_ << endl;
cout << "Pisteen y-koordinaatti: " << y_ << endl;
}
void Piste::AsetaPiste(int x, int y)
{
x_ = x;
y_ = y;
}
//*Tähän pitäisi laittaa koodi*
//Olen yrittänylaittaa mm.
class muodostaja()
{
public:
pisteolio();
private:
y_ = 1;
x_ = 1;
}
sekä
void Piste::Pisteolio()
{
y_ = 1;
x_ = 1;
}
//kumpikaan ei toimi
int main()
{
piste pisteolio;
pisteolio.Tulostapiste;
return 0;
}
Olio-ohjelmoinnista
9
358
Vastaukset
- The_Real_J
Luokan konstruktorifunktio on saman niminen kuin luokka, eikä sille ole määritelty palautusarvoa. Oletusmuodostimella ei myöskään ole parametreja. Eli jos luokan nimi on vaikka Piste ja sillä on kaksi jäsentä x ja y, jotka oletusmuodostimen pitäisi asettaa nollaksi seuraavan pitäisi toimia
class Piste
{
public:
... (jäsenmääritteyitä)
Piste()
{
x = y = 0;
}
... lisää määrittelyitä
} - kaksisuuntaista
Mkarin mukaan tuo setteri AsetaPiste(x, y) on pahin virhe mitä ei saisi viljellä koodissa, miksi koulu opettaa virheellistä ohjelmointia?
- samaactä
Tulee mieleen heti että pitäisi sytyttää heti ruudulle joku jonkun värinen piste johonkin kohtaan?
Olioioissa ei nyt ole mitään sen kummallisempaa kuin missään tavallisissa c-kielen struct-jutuissakaan, kaikissa voi olla progressiivisia itseään itse generoivia funktioita aina sisällä, olio on vain joku JÄNNÄ uusi nimi. Näyttäisi siltä, että koulu opettaa oikein ja tässä nyt kysytään miten asia tehdään. Eli AsetaPIste pitäisi poistaa constructorin kysyä X ja Y.
- okww2ekw2te
onpa tuo tytöille niin kiinnostavaa, tässä on hyvä perus c-kielinen tehokas koodi;
pushing ALL processorros operations in stack = ready for fAST EXECUTION WITH DMA ...- eikäytetänäyttöäkään
Sitten perään vielä että: loading all available DMA channels for memory immediate memory transfer, expliciply ALL DMA harddrive channels are now "not available because of this code".
- Olen.alien.olio
Terve,
Eilen näin Alien olion. Olen Alien olio.- olioopiskelua
Joo on kerrassaan hauskaa tytöillä ohjelmoinnissa tehdä Olioita.
Sitten kun menee kotiin lomalle ja isäntä kysyy mitä on opittu?
- Teimme Olioita.
- cssäonhyötynsäkin
Tällainen voi mennä jo assembly-ohjelmoinninkin puolelle: laitat matalalta tasolta DMA-kanavia varatuiksi Direct Memory Access... laitat niille sitten että ovat valmiita nopeisiin muistin siirtoihin, esim. grafiikkakortin ja keskusmuistin välillä tai kovalevyn välillä.
Silloin kun DMA-kanavat kun ilmoittavat, valmis, niin tuollainen muistin siirto erittäin nopeata, ajaa itseasiassa kaiken muun ylikin tuollaiset siirrot.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1077793
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1136064- 835197
- 1394556
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113230- 623024
- 582948
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102454- 612437
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562066