Sitter och försöker lära mig lite C++ på egen hand genom att läsa en massa grejer jag har laddat ner i från nätet, lite olika kurser och så.
Har kört fast på en sak. Skall försöka förstå mig på det där med klasser och sitter med några uppgifter, en av dessa går ut på att man skall ha en default-konstruktor och en överlagrad med lämpliga argument. Hur man gör det tror jag att jag förstår. Men man skall också skapa en regel som beskriver hur och när dessa skall anropas.
Det där med hur den regeln skall skapas har jag hängt upp mig på. Någon som kan ge mig en liten vink om hur jag skall fixa detta?
Jag förstår inte riktigt vad som menas med "regel" i detta fall. En defaultkonstruktor kan skapas med parametrar, om du samtidigt ger dem defaultvärden
class c
{
public:
c(int i = 0, string s = "");
};
c d;
c e(1);
c f(1,"g");
Men det är ju även möjligt att ha flera konstruktorer:
class c
{
public:
c(); //default
c(int i);
c(string s);
c(int i, string s);
c(const c&); //copy constructor
};
c d; //default
c e(1); //c(int)
c f("g"); //c(string)
c g(1, "h"); //c(int, string)
c i(d); //copy
Det är precis det jag undrar också... vad som menas med en regel och hur det skall göras.
Har bläddrat runt lite i en del böcker men inte hittat något. Funderar på om det kan vara så att man skall göra en if-then sats för att kolla om vissa saker uppfylls och i så fall anropas den överlagrade annars den defaulta....
Om det är meningen att användaren skall specificera värden, och att en instans av klassen skall skapas utifrån dessa värden, kanske if-satser behövs för att bestämma vilken konstruktor som skall anropas. Hur lyder uppgiften?