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

konstuktory w zagnieżdżonej strukturze

Ostatnio zmodyfikowano 2016-12-15 19:26
Autor Wiadomość
masterkwi
Temat założony przez niniejszego użytkownika
konstuktory w zagnieżdżonej strukturze
» 2016-12-15 18:08:52
Jeśli mam zagnieżdżoną strukturę a chcę wszystko wczytać używając konstruktorów to jak mam to zrobić? Jak widać gdy próbuję w strukturze samochód to nie wychodzi
C/C++
#include<iostream>
#include<string>
using namespace std;

struct kola {
    double srednica;
    double szerokosc;
    string ogumienie;
   
    kola() {
        srednica = 0.0;
        szerokosc = 0.0;
        ogumienie = "";
    }
    kola( double srednica, double szerokosc, string ogumienie ) {
        this->srednica = srednica;
        this->szerokosc = szerokosc;
        this->ogumienie = ogumienie;
    }
   
   
   
};

struct silnik {
    double pojemnosc;
    string paliwo;
   
    silnik() {
        pojemnosc = 0.0;
        paliwo = "";
    }
    silnik( double pojemnosc, string paliwo ) {
        this->pojemnosc = pojemnosc;
        this->paliwo = paliwo;
    }
};





struct samochod {
   
    kola rodzajkol;
    silnik rodzajsilnika;
    samochod( kola rodzajkol.srednica, kola rodzajkol.szerokosc, kola rodzajkol.ogumienie,
    silnik rodzajsilnika.pojemnosc, silnik rodzajsilnika.paliwo ) {
        this->rodzajkol.srednica = rodzajkol.srednica;
        this->rodzajkol.szerokosc = rodzajkol.szerokosc;
        this->rodzajkol.ogumienie = rodzajkol.ogumienie;
        this->rodzajsilnika.pojemnosc = rodzajsilnika.pojemnosc;
        this->rodzajsilnika.paliwo = rodzajsilnika.paliwo;
    }
   
   
   
};
P-154999
Gibas11
» 2016-12-15 18:13:34
P-155000
masterkwi
Temat założony przez niniejszego użytkownika
» 2016-12-15 18:58:17
ale nie za bardzo wiem jak tego mógłbym użyć
P-155003
Gibas11
» 2016-12-15 19:02:54
C/C++
samochod( double pojemnosc, string paliwo, double srednica, double szerokosc, string ogumienie )
    : silnik( pojemnosc, paliwo )
     , kolo( srednica, szerokosc, ogumienie )
{ }
Jakoś tak.
P-155004
carlosmay
» 2016-12-15 19:26:15
C/C++
samochod( kola rodzajkol.srednica, kola rodzajkol.szerokosc, kola rodzajkol.ogumienie,
silnik rodzajsilnika.pojemnosc, silnik rodzajsilnika.paliwo )
W nagłówku metody musisz podać typ i nazwę zmiennej, a nie odwołanie do pola struktury.

Prosty przykład:
C/C++
#include <iostream>
#include <string>

struct A {
    int a1, a2;
    A( int a, int b )
        : a1
    { a }, a2 { b } { }
};

struct B {
    int b;
    std::string s;
    B( int a, const std::string & s )
        : b
    { a }, s { s } { }
};

struct C {
    A aObj;
    B bObj;
    C( int a, int b, int c, const std::string & s )
        : aObj
    { A { a, b } }, bObj { B { c, s } } { }
    C( const A & a, const B & b )
        : aObj
    { a }, bObj { b } { }
};

int main()
{
    A a { 1, 2 };
    B b { 3, "tekst" };
    C c1 { 5, 6, 7, "tekst2" };
    C c2 { a, b };
    std::cout
    << c1.aObj.a1 << ' ' << c1.aObj.a2 << ' '
    << c1.bObj.b << ' ' << c1.bObj.s << '\n'
    << c2.aObj.a1 << ' ' << c2.aObj.a2 << ' '
    << c2.bObj.b << ' ' << c2.bObj.s << '\n';
}
http://melpon.org/wandbox​/permlink/48Y3i60HutIUYQyv
P-155006
« 1 »
  Strona 1 z 1