Something went wrong on our end
Select Git revision
funcs_test.go
-
Aksel Baardsen authoredAksel Baardsen authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
bane.cpp 2.19 KiB
/**
* Kode-fil for bane-klassen
*
* @file bane.cpp
* @author Sondre Sand & Frederik Simonsen
*/
#include <iostream>
#include <fstream>
#include "bane.h"
#include "const.h"
#include "LesData3.h"
using namespace std;
/**
* Oppretter en ny Bane. Nullstiller alle dens datamedlemmer.
* Faktisk innlesning av reelle verdier skjer i lesData()
*
* @see Rute::Rute()
*/
Bane::Bane() {
antVogner = lengde = 0;
}
/**
* Oppretter en ny Bane fra fil. Leser inn dens datamedlemmer
*
* @param inn Filen det leses fra
* @see Rute::Rute(...)
*/
Bane::Bane(ifstream & inn) : Rute (inn) {
// Leser inn antall vogner på banen og lengden på banesettet:
inn >> antVogner >> lengde; inn.ignore(); // Forkaster '\n'
}
/**
* Sletter minne allokert med en rute (virtuell)
*/
Bane::~Bane() {
}
/**
* Leser inn alle datamedlemmer for en bane (virtuell)
*
* @see Rute::lesData()
*/
void Bane::lesData() {
antVogner = lesInt("Antall vogner på banen", MINVOGNER, MAXVOGNER);
lengde = lesInt("Lengde på banesettet (meter)", MINLENGDE, MAXLENGDE);
Rute::lesData(); // Ruten leser egne data
}
/**
* Skriver ut all informasjon om en bane til bruker i run-time (virtuell)
*
* @see Rute::skrivBeskrivelse()
*/
void Bane::skrivBeskrivelse() {
cout << "Banen har " << antVogner << " vogner og banesettet er "
<< lengde << " meter langt.\n";
Rute::skrivBeskrivelse(); // Rute skriver egne datamedlemmer
}
/**
* Skriver ut rutetype (bane) til bruker (virtuell)
*
* @see Rute::skrivData()
*/
void Bane::skrivData() const {
cout << "(bane): ";
Rute::skrivData(); // Rute skriver egne datamedlemmer
}
/**
* Skriver ut kort informasjon om banens datamedlemmer i run-time (virtuell)
*/
void Bane::skrivKort() const {
cout << "\nBanen har " << antVogner << " vogner og banesettet er "
<< lengde << " meter langt.\n\n";
}
/**
* Skriver ut alle datamedlemmer for en bane til fil (virtuell)
*
* @param ut - Filen det skrives til
* @see Rute::skrivTilFil(...)
*/
void Bane::skrivTilFil(ofstream & ut) {
ut << "A\n"; // Skriver ut A for rutetype Bane
Rute::skrivTilFil(ut); // Rute skriver egne data
ut << antVogner << ' ' << lengde << '\n'; // Skriver egne data
}