Hogyan tervezzünk 3 azonos aláírás verem túlcsordulás orosz
Meg kell írni egy programot, amely tartalmazza az osztály háromszög. Ebben az osztályban, nem kell három konstruktőri:
- A kivitelező, hogy úgy három oldalról.
- Constructor vesz két oldala és egy szög közöttük, és kiszámítjuk egy harmadik fél a koszinusz tétel.
- A kivitelező, hogy úgy két szög és az oldalsó között, és kiszámítja a fennmaradó oldalán szinusztétel (szem előtt tartva a tétel a szögek összege a háromszög).
Minden Triangle is szüksége van, hogy visszatérjen a saját területén.
Azaz, mi a következő:
A probléma az, hogy mind a három konstruktőri ugyanaz az aláírás, de más logika.
Kérdés: hogyan lehet megoldani a „helyes”, hogy ezt a problémát?
- Helyettesítés paraméter (ek) kettős zsinóron és a további elemzés karakterlánc kettős.
- Helyettesítés paraméter (ek) dupla lebegni.
Előírása paraméterek a tömbben:
állítsa szeptember 27 '16 at 05:42
1. lehetőség - A megnevezett tervezők.
Nevezett kivitelező úgynevezett statikus módszer, amelynek célja -, hogy hozzon létre egy objektumot a megadott paraméterekkel. Néha még mindig nem egészen helyes, hogy hívja a gyári módszer.
2. lehetőség - tartománykeresési adattípusok
Adjuk adattípusok „hossz” és a „szög” -, és használja őket a kivitelező.
Egy pár alternatíva a már javasolt.
mert kiválasztása egy túlterhelt függvény (és designer is) végzik alapján típusok, egyértelmű, hogy hozzon létre több különböző konstruktőrök azonos aláírás nem fog működni.
A probléma megoldható, ha további paramétert.
Hogy az új „üres” osztály (nevek vett @Argon válasz):
A tervezők aláírások ebben az esetben a következők:
Használja felsorolás enum.
Ebben az esetben a tervező lesz az egyetlen elágazási logikáját:
Megadhat egy alapértelmezett értéket a fajta érvelés, ha a tervek szerint lesznek túlsúlyban egyik vagy másik változata építése a háromszög. Például: