• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

podklasy konstruktor kopiujacy oop c++ banalne

Object Storage Arubacloud
0 głosów
364 wizyt
pytanie zadane 13 grudnia 2015 w C i C++ przez qwer Nowicjusz (140 p.)

Mam do napisania program, ktory ma przedstawiac gitare za pomoca klasy oraz zawierac 2 obiekty inny klas, jeden dynamiczny, drugi automatyczny, nastepnie mam stworzyc knstruktor kopiujacy, do glownego obiektu, ale tak, zeby te dwa podobiekty tez sie kopiowaly, mam nadzieje, ze wiecie o co mi chodzi :P probowalam to zrobic za pomoca tego co znalazlam na forum, niestety z marnym skutkiem... moglby mi ktos pomoc? :) i mam jeszcze jedno pytanie, dlaczego podczas tworzenia obiektu gitara w mainie, dziala mi tylko konstruktor i destruktor gitary i pudla, a strun juz nie?

GITARA.H

#include <iostream>
#include <string>
#include <cctype>

using namespace std;

class Struny
{
    int dlugosc;
    int srednica;
public:
    Struny(int=120, int=3);
    ~Struny();
    friend class Gitara;
};

class Pudlo
{
    string material;
public:
    Pudlo(string="drewno");
    ~Pudlo();
    friend class Gitara;
};



class Gitara
{
    Pudlo pudlo;
    Struny *struny;

    string nazwa;
    char kolor;
    static int licznik;
public:
    void zaladuj();
    void pokaz();
    
    Gitara(string="brak", char=90);                //inicjacja wartossci domyslnych
    ~Gitara();

    //Gitara(int);
};

GITARA.CPP

#include <iostream>
#include <string>
#include <cctype>
#include "gitara.h"


using namespace std;

void Gitara::zaladuj()
{
    cout<<endl<<"Podaj nazwe gitary: ";
    cin>>nazwa;
    cout<<endl<<"Podaj kolor gitary: ";
    cin>>kolor;
}

void Gitara::pokaz()
{
    cout<<"Gitara "<<nazwa<<" o kolorze "<<kolor<<endl;
}


Gitara::Gitara(string n, char k)               //do ktorej klasy:: operator zasiegu
{

    nazwa=n;
    kolor=k;

    cout<<"Dziala konstruktor domyslny."<<endl;
}

Gitara::~Gitara()
{
    cout<<"Dziala destruktor domyslny"<<endl<<endl;

}

Struny::Struny(int d, int s)
{
    d=dlugosc;
    s=srednica;

    cout<<"Dziala konstruktor struny"<<endl;
}

Struny::~Struny()
{
    cout<<"Dziala destruktor struny"<<endl;
}

Pudlo::Pudlo(string m)
{
    m=material;

    cout<<"Dziala konstruktor pudlo."<<endl;
}

Pudlo::~Pudlo()
{
    cout<<"Dziala destruktor pudlo."<<endl;
}

MAIN.CPP

#include <iostream>
#include <string>
#include <cctype>
#include "gitara.h"

using namespace std;

int main()
{
    cout << "Hello world!" << endl;

  Gitara g1;
  g1.zaladuj();
  g1.pokaz();

    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 13 grudnia 2015 przez adrian17 Ekspert (344,860 p.)

a strun juz nie?

Bo nigdzie nie tworzysz strun - Twój obiekt Gitara ma tylko wskaźnik na struny, ale nigdzie  programie nie tworzysz samej instancji strun.

komentarz 13 grudnia 2015 przez qwer Nowicjusz (140 p.)
@adrian17 jak mam ją stworzyć i w którym miejscu? chodzi o "new"?
komentarz 13 grudnia 2015 przez adrian17 Ekspert (344,860 p.)
Gdzie - to zależy od Ciebie. Pewnie w konstruktorach. Tak, chodzi o new.

Podobne pytania

0 głosów
1 odpowiedź 134 wizyt
pytanie zadane 13 lutego 2016 w C i C++ przez Ziuziek Mądrala (5,140 p.)
0 głosów
3 odpowiedzi 1,897 wizyt
pytanie zadane 9 lutego 2016 w C i C++ przez Ziuziek Mądrala (5,140 p.)
0 głosów
1 odpowiedź 421 wizyt
pytanie zadane 28 kwietnia 2018 w C i C++ przez konu33 Nowicjusz (210 p.)

92,539 zapytań

141,382 odpowiedzi

319,481 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...