Zadanie - podstawy obiektówki

0

Mam ten kod zamienić tak, aby zamiast konstruktorów dwuargumentowych były same jedno-argumentowe. Działanie ma pozostać takie jak było. Mam zmodyfikować ten kod:

namespace ConsoleApp44
{
    class Konstruktory
    {
        double pole1; char pole1;

        public Konstruktory(double arg)
        {

        }
        public Konstruktory(char arg)
        {

        }
        public Konstruktory(double arg1, char arg2)
        {

        }
        public Konstruktory(char arg1, double arg2)
        {

        }
        static void Main(string[] args)
        {
        }
    }
}

Jedyne co mi przychodzi do głowy to zagnieżdżone konstruktory, macie może jakieś inne pomysły? Chciałbym rozwiązać ten przykład.


2

Jakie działanie? Na razie kod nic nie robi. Po prostu usuń dwu-argumentowe.

Albo podawaj do konstruktora obiekt zawierający arg1, arg2.

Może też chodzić o domyślne wartości argumentów? Wtedy byś mógł jednym konstruktorem obsłużyć przypadki dla 0, 1 i 2 argumentów.

0

Masz dwa razy tą samą nazwę zmiennej "pole1".

A może tak? Konstruktory jednoargumentowe i wewnątrz nich pobierasz drugi argument?:

using System;
namespace ConsoleApp44
{    
    class Konstruktory
    {
        private double pole1;
        private char pole2;

        public Konstruktory(double arg)
        {
            pole1 = arg;
            Console.WriteLine("Podaj znak:");
            char.TryParse(Console.ReadLine(), out pole2);
            Console.WriteLine("Liczba i znak: \n{0}\n{1}",pole1,pole2);
        }
        public Konstruktory(char arg)
        {
            pole2 = arg;
            Console.WriteLine("Podaj liczbę zmiennoprzecinkową (użyj przecinka):");
            double.TryParse(Console.ReadLine(), out pole1);
            Console.WriteLine("Liczba i znak: \n{0}\n{1}", pole1, pole2);
        }
        static void Main(string[] args)
        {
            char k1;
            double k2;
            k1 = 'a';
            k2 = 2.4;
            Konstruktory kon1 = new Konstruktory(k1);
            Konstruktory kon2 = new Konstruktory(k2);
            Console.ReadKey();
        }
    }
}
3
gornada napisał(a):

A może tak? Konstruktory jednoargumentowe i wewnątrz nich pobierasz drugi argument?

WTF?!?!?!

Czyli nie można utworzyć obiektu, bo w trakcie jego tworzenia jest wymagana interakcja z użytkownikiem? Gdzie Ty takie coś widziałeś?

1

Te wszystkie zadanie są g**no warte. Rób lepiej jakiś mini projekt, zamiast tracić czas na domyślanie się o ch chodziło autorowi ;)

0

Zadanie kompletnie od czapy, jeśli nie wszystkie pola będą zainicjalizowane to będą posiadać domyślne wartości i tyle. Trudno powiedzieć czy w tym wypadku na sens, bo samo określenie sensu istnienia klasy Konstruktory jest ciężkie.

0
somekind napisał(a):
gornada napisał(a):

A może tak? Konstruktory jednoargumentowe i wewnątrz nich pobierasz drugi argument?

WTF?!?!?!

Czyli nie można utworzyć obiektu, bo w trakcie jego tworzenia jest wymagana interakcja z użytkownikiem? Gdzie Ty takie coś widziałeś?

Chyba źle zrozumiałem treść zadania. Wyglądało mi to na zadanie domowe czysto akademickie. Zadane przez jakiegoś profesora, gdzie chodzi tylko o to by program się skompilował.

0

Jak wyglądają zagnieżdżone konstruktory?

0

j.w. - przenieś Console.* do Main.

1 użytkowników online, w tym zalogowanych: 0, gości: 1