Problem med c++-uppgift
Postat: 06 jan 2010, 12:34
Hejsan! Jag har fått problem med en uppgift i programmeringen som jag hoppas ni kan hjälpa mig med. Uppgiften går ut på att jag ska skapa en enkel filmklass, där man lagrar titeln och längden av filmen.
Klassdiagrammet som visar vad som ska finnas med i koden ser ut så här:
Klassen film ska implementeras i två filer, en defnitionsfil (.h-fil) och en implementionsfil (.cpp).
Jag ska använda följande huvudprogram för att testa klassen, och den ligger givetvis i main.cpp.
För tillfället ser allt ut så här:
main.cpp
Film.cpp
Film.h
Som ni troligtvis ser har jag problem med funktionen "void skrivUt()". Snälla hjälp mig, jag tänker troligtvis helt galet i det fallet. Jag har säkert gjort något fel någon annanstans också, men att jag ersatt "void geTitel..." och "void geLangd.. mot void "Film::Film.." tillät min programmeringslärare.
Hoppas ni kan hjälpa mig iallafall!
Mvh
Emer
Klassdiagrammet som visar vad som ska finnas med i koden ser ut så här:
Kod: Markera allt
string titel
int langd
____________________
void geTitel(string t)
void geLangd(int l)
string VisaTitel()
int visaLangd()
void skrivUt()
Jag ska använda följande huvudprogram för att testa klassen, och den ligger givetvis i main.cpp.
Kod: Markera allt
int main()
{
vector<Film*> fv;
fv.push_back(new Film("Star Wars",121));
fv.push_back(new Film("Plan 9 From Outer Space",79));
fv.push_back(new Film("Blade Runner",117));
for(vector<Film*>::iterator i=fv.begin();i!=fv.end();i++)
(*i)->skrivUt();
return 0;
}
main.cpp
Kod: Markera allt
// main.cpp
#include "Film.h"
#include <iostream>
using namespace std;
int main()
{
vector<Film*> fv;
fv.push_back(new Film("Star Wars",121));
fv.push_back(new Film("Plan 9 From Outer Space",79));
fv.push_back(new Film("Blade Runner",117));
for(vector<Film*>::iterator i=fv.begin();i!=fv.end();i++)
(*i)->skrivUt();
return 0;
}
Kod: Markera allt
// Filen Film.cpp
#include "Film.h"
#include <iostream>
#include <string>
using namespace std;
void Film::Film(string t, int l) {
titel=t;
langd=l;
}
string Film::VisaTitel() {
return titel;
}
int Film::visaLangd() {
return langd;
}
void Film::skrivUt() {
cout<<titel<<" "<<langd<<endl;
}
Kod: Markera allt
// Filen Film.h
#ifndef FILM_H
#define FILM_H
#include <string>
using namespace std;
class Film {
private:
string titel;
int langd;
public:
void Film(string t, int l);
string VisaTitel();
int visaLangd();
void skrivUt();
};
#endif
Hoppas ni kan hjälpa mig iallafall!
Mvh
Emer