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:

  1. A kivitelező, hogy úgy három oldalról.
  2. 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.
  3. 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?

  1. Helyettesítés paraméter (ek) kettős zsinóron és a további elemzés karakterlánc kettős.
  2. Helyettesítés paraméter (ek) dupla lebegni.






Előírása paraméterek a tömbben:

  • Létrehozva egy új adattípus Angle.
  • á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:




    Kapcsolódó cikkek