Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ taka sama nazwa atrybutu co metody w klasie

Ostatnio zmodyfikowano 2018-01-02 16:14
Autor Wiadomość
155178
Temat założony przez niniejszego użytkownika
» 2018-01-02 15:56:27
Dzięki, zrozumiałem już ideę copy ctora. Mam jeszcze kolejny problem z tym samym projektem, a nie chcę śmiecić forum zakładając oddzielny temat. A mianowicie :

KLASA Samochod.h :
C/C++
#pragma once
#include<iostream>
#include"DodatkoweWyposazenie.h"
#include"Silnik.h"
#include"Kolo.h"
using namespace std;

class Samochod
{
    Silnik * silnik;
    //Kolo kola[4];
    string nazwa;
    //DodatkoweWyposazenie wyposazenie[2];
    //Samochod(string nazwa, int moc, int liczbaCylindrow, int rozmiarKol);
public:
    Samochod( const Samochod & samochod );
    //Samochod dajWzorzec(string nazwa, int moc, int liczbaCylindrow, int rozmiarKol);
    //void wyswietlSpecyfikacje();
    //void dodajWyposazenie(DodatkoweWyposazenie wyposazenie);
    ~Samochod();
};

KLASA Silnik.h :
C/C++
#pragma once
#include"Samochod.h"
class Silnik
{
    friend class Samochod;
    int moc;
    int liczbaCylindrow;
    Silnik( int moc, int liczbaCylindrow );
public:
    int getMoc();
    int getLiczbaCylindrow();
    ~Silnik();
};

KLASA Kolo.h :
C/C++
#pragma once
#include"Samochod.h"
class Kolo
{
    friend class Samochod;
    int rozmiar;
    Kolo( int rozmiar );
public:
    int getRozmiar();
    ~Kolo();
};

I COPY CTOR dla Samochodu :
C/C++
Samochod::Samochod( const Samochod & samochod )
{
    silnik = samochod.silnik;
    nazwa = samochod.nazwa;
}
 
Tutaj jest problem bo wyrzuca mi błąd przy deklaracji w pliku Samochod.h
Silnik * silnik
 :
-error C2143: błąd składniowy: brakuje „;” przed „*”
-error C4430: brak specyfikatora typu - założono, że int. Uwaga: C++ nie obsługuje domyślnie typu int
-error C2238: nieoczekiwany(e) token(y) poprzedzający(e) ";"

Tak jakby nie wykrywało tej klasy Silnik. Mógłby ktoś wyjaśnić o co chodzi? A co do copy ctora to czy jest poprawny w tym przypadku ? Proszę nie brać pod uwagę zakomentowanych fragmentów, później dorobię pętlę for dla kolo=samochod.kolo i resztę atrybutów, ale robię to małymi kroczkami gdyż boję się o nadmiar błędów.
P-168352
pekfos
» 2018-01-02 16:14:21
Dołączanie nagłówków nie może mieć cyklu.

Mam jeszcze kolejny problem z tym samym projektem, a nie chcę śmiecić forum zakładając oddzielny temat.
Wiecznie ten sam argument. Nie chcę śmiecić na forum, więc naśmiecę w istniejącym temacie, bo to już nie jest na forum, co? Zamykam.
P-168353
1 « 2 »
Poprzednia strona Strona 2 z 2