🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310336

Re: Różne nazwy konstruktora?

#310336
From: Wojciech Muła
Date: Mon, 07 Dec 2020 20:10
37 lines
2342 bytes
On Monday, December 7, 2020 at 8:05:03 PM UTC+1, Borneq wrote:
> W starym Pascalu choćby konstruktor może mieć różne nazwy. W C++ może 
> być wiele konstruktorów różniących się parametrami. 
> Jednak czasem potrzeba by były różne nazwy. 
> Taki przykład: 
> Liczba zespolona, ma pola Re i Im. Inicjuje się tymi dwiema liczbami, a 
> chciałbym jeszcze inicjować przez promień i kąt. 
> Co warto zrobić?

1. Statyczna metoda

class Complex {
public:
    Complex(double re, double im);
    static Complex from_polar(duoble mod, double arg);
}

2. Specjalizacja z własnym typem

struct UsePolarCoordsPlease {};

UsePolarCoordsPlease from_polar;

class Complex {
public:
    Complex(double re, double im);
    Complex(double mod, double arg, UsePolarCoordsPlease);
};

Complex a{1, 2};
Complex b{5, 12, from_polar};

3. Wprowadzić osobny typ do przechowywania kątów, który nie jest domyślnie
konwertowalny na liczbę i wtedy robisz specjalizacje dla niego. Ale to już
zdecydowanie najwięcej zabawy.

w.
Technical Details
Message-ID: <48755639-7648-40b4-a759-609bafdc9f05n@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <5fce7cbf$0$554$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a0c:b181:: with SMTP id v1mr23053493qvd.36.1607371808432;        Mon, 07 Dec 2020 12:10:08 -0800 (PST)
X-Received: by 2002:a05:620a:790:: with SMTP id 16mr26343924qka.169.1607371808234; Mon, 07 Dec 2020 12:10:08 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Mon, 7 Dec 2020 12:10:08 -0800 (PST)
In-Reply-To: <5fce7cbf$0$554$65785112@news.neostrada.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=178.43.54.87; posting-account=VFwkXwoAAADdT4-lLKRZrMYkTjizGoyn
NNTP-Posting-Host: 178.43.54.87
References: <5fce7cbf$0$554$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <48755639-7648-40b4-a759-609bafdc9f05n@googlegroups.com>
Subject: Re: Różne nazwy konstruktora?
From: Wojciech Muła <wojciech_mula@poczta.onet.pl>
Injection-Date: Mon, 07 Dec 2020 20:10:08 +0000
Lines: 41
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit