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 #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; } };
|
|
Gibas11 |
» 2016-12-15 18:13:34 |
|
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ć |
|
Gibas11 |
» 2016-12-15 19:02:54 samochod( double pojemnosc, string paliwo, double srednica, double szerokosc, string ogumienie ) : silnik( pojemnosc, paliwo ) , kolo( srednica, szerokosc, ogumienie ) { }
Jakoś tak. |
|
carlosmay |
» 2016-12-15 19:26:15 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: #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 |
|
« 1 » |