jeg havde ellers skrevet sådan en lang forklaring... men så så jeg at nørden havde lavet createMenuItem som en constructor, også passede det jeg havde skrevt ikke helt. Her er hvad jeg nåde at skrive, bare glem det vis du bliver forvirret...
************************
en .hpp fil er det samme som en .h fil.
så det nørden gør er at han i en .h/.hpp fil (headerfil) laver classen menu. Det samme som du gør her:
class menu{
string dis;
char inp;
public:
void menu::createMenuItem(string mname, string tmpDis, char tmpInp);
};
#ifndef MENU_HPP_INCULDED
#define MENU_HPP_INCLUDED
og
#endif
sørger for at man ikke includer samme fil flere gange.
han includer også string for at få lov til at bruge string typen.
alt der ikke står under noget (private, public eller protected) i en class er som standerart under private dvs. at i har de samme tin under prvate. Han skriver std:: foran string da den er en del af namespaced std(standerart). Desuden laver han funktionen getDis, så han kan hente variablen dis.
btw skal du ikke skrive menu:: når du skriver i selve classen.
i menu.cpp includere han menu.hpp.
Menu::Menu(std::string mname, std::string tmpDis, char tmpInp):dis(tmpDis),inp(tmpInp){}
gør det samme som:
menu::createMenuItem(string mname, string tmpDis, char tmpInp){
menu mname; //denne linje skal slettes
mname.dis = tmpDis;
mname.inp = tmpInp;
}
bortset fra at du ikke skal oprette et menu objekt her.
//skal der ikke stå "void menu::crea......"??//
desuden laver han også GetDis funktionen.
i main.cpp includeres menu.cpp
//er det ikke en god ide at includere den under iostream??//
************************
Indlæg senest redigeret d. 24.05.2008 16:32 af Bruger #13669