Berikut adalah kelas C ++ yang dibangun dengan tiga nilai.
class Foo{
//Constructor
Foo(std::string, int, char);
private:
std::string foo;
char bar;
int baz;
};
Semua tipe parameter berbeda.
Saya bisa membebani konstruktor sehingga pesanan tidak masalah.
class Foo{
//Constructors
Foo(std::string, char, int);
Foo(std::string, int, char);
Foo(char, int, std::string);
Foo(char, std::string, int);
Foo(int, std::string, char);
Foo(int, char, std::string);
private:
std::string foo;
char bar;
int baz;
};
Tapi apakah itu ide yang bagus?
Saya mulai melakukannya karena saya tahu hal-hal apa yang dibutuhkan kelas / fungsi;
Saya tidak selalu ingat bagaimana urutannya.
Saya telah mengasumsikan bahwa kompiler mengoptimalkan ini seolah-olah saya memanggil konstruktor yang sama.
//compiler will implement this with the same code?
//maybe not.. I could call a function to get a parameter,
//and that function could change the state of the program, before calling
//a function to get another parameter and the compiler would have to
//implement both
Foo foo1("hello",1,'a');
Foo foo2('z',0,"world");
Apa pendapat Anda tentang kelebihan fungsi sehingga pesanan tidak menjadi masalah?
Juga, Jika saya menulis beberapa fungsi utilitas,
apakah ide yang baik untuk memberikan nama fungsi berbeda yang melakukan hal yang sama?
misalnya.
void Do_Foo();
void DoFoo();
void do_foo();
//etc..
Saya tidak sering melihat keduanya tetapi konvensi serupa.
Haruskah saya menghentikan atau memeluk kebiasaan itu?