C++ Konstruktory

0

Mam napisać programik z klasą puszka. Klasa ma zawierać nazwe piwa,producenta,date ważnośći i czy jest otwarta(bool).Napisać konstruktor bezargumentowy, jednoargumentowy (tylko nazwa), jednoargumentowy (tylko data ważności), dwuargumentowy (nazwa i producent) i wieloargumentowy. Troche kodu wyklepałem z klasą , ale nie wiem jak zabrać się za bool i konstruktory.Proszę o pomoc.

Kopiuj
#include <cstdlib>
#include <iostream>

using namespace std;

class puszka
{
      char nazwa[];
      char producent[];
      long int data;
      int pojemnosc;
      bool otwarta;
      private:
      
        

              puszka::puszka;
                             nazwa=Zywiec;
                             producent=GrupaZywiecSA;
                             data=01012012;
                             otwarta=1;
                             };
              
void puszka::wyswwietl()
{
     cout<<"Nazwa piwa: "<<nazwa<<endl;
     cout<<"Producent: "<<porducent<<endl;
     cout<<"Data waznosci: "<<data<<endl;
}   
              
      






int main()
{
    puszka p;
    p.wyswietl;
    system("PAUSE");
    return 0;
}
 
_13th_Dragon
  • Rejestracja:prawie 20 lat
  • Ostatnio:13 dni
0
Kopiuj
#include <cstdlib>
#include <iostream>
using namespace std;
 
char *strcp(const char *s)
  {
   unsigned L=streln(s)+1;
   char *r=new char[L];
   memcpy(r,s,L);
   return r;
  }

class puszka
  {
   private:
   char *nazwa;
   char *producent;
   long int data;
   int pojemnosc;
   bool otwarta;
   public:
   puszka(char *nazwa,char *producent,long int data,int pojemnosc,bool otwarta)
     :nazwa(strcp(nazwa)),producent(strcp(producent)),data(data),pojemnosc(pojemnosc),otwarta(otwarta)
     {
     }
   ~puszka() { delete[] nazwa; delete[] producent; }
   void wyswwietl()const
     {
      cout<<"Nazwa piwa: "<<nazwa<<endl;
      cout<<"Producent: "<<porducent<<endl;
      cout<<"Data waznosci: "<<data<<endl;
     }   
  };

int main()
  {
   puszka p("Zywiec","GrupaZywiecSA",01012012,5,true);
   p.wyswietl();
   cin.sync();
   cin.get();
   return 0;
  }

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
killyou
  • Rejestracja:około 14 lat
  • Ostatnio:prawie 14 lat
0

w programie miałeś jeszcze ustawiać i sprawdzać wartości puszki, czyli wpisywać ręcznie i to wyświetlać.
z bool też mam jakiś problem ale, 'on' ocenia dobrze...
a co do konstruktora:

Kopiuj
class Miesiac
   {
        public:
             int numer;
             int rok;
             Miesiac(const **Miesiac** &miesiac)
             {
                  numer=miesiac.numer;
                  rok=miesiac.rok;
             }
   }; 

przy takiej klasie pogrubiony Miesiac to wywodzi się z nazwy klasy? a &miesiac to nasza nazwa którą użyjemy poniżej? bo próbuję to sobie wytłumaczyć.

edytowany 1x, ostatnio: madmike

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.