функции с неопределенным колвом параметров

 
Есть ли возможность написать пользовательскую ф-цию, наподобие Alert(...), Print(...) то есть с динамическим количеством параметров??
 
antslag писал (а) >>
Есть ли возможность написать пользовательскую ф-цию, наподобие Alert(...), Print(...) то есть с динамическим количеством параметров??

Во первых Alert(...) и Print(...) имеют число параметров - 64  и у всех значение по умолчанию - пустая строка.

Это мое мнение, даже еслы я ошибаюсь возможность написания такой функции есть- таким способом, каким я описал выше.

 

Пиши

string str;

Print(str);

А уж, str меняй до этого как хочешь.

 
primer (123123); //
primer ();//"любое" колво параметров

PrImer2(2,2); //обязательно 2 параметра + еще два

}
/////////////


int primer (int a=0, int b=0, double c=5, string d="")
{}

int PrImer2 (int a, int b, double c=5, string d="")
{}

//параметры которые инициированы можнo пропускать. Правило: 1 идут подряд 2. все что левее это обязательные парамтеры
 
Korey писал (а) >>

Воот, хороший пример, где прямо как воздух нужен полиморфизм вкупе с жесткой типизацией

 
WWer писал (а) >>

Во первых Alert(...) и Print(...) имеют число параметров - 64 и у всех значение по умолчанию - пустая строка.

Это мое мнение, даже еслы я ошибаюсь возможность написания такой функции есть- таким способом, каким я описал выше.

не похоже, можно проверить, результат разный:

    double c1 = 100.2300001;
    string c2 = 100.2300001;
    Alert(c1);
    Alert(c2);
 
string Z(string str1="",string str2=""....){
   string retstr="";
   if(str1!="")retstr=retstr+str1;
   if(str2!="")retstr=retstr+str2;  
   
   ...
   ...
   ...
   
   return(retstr); 
}
 
да я понимаю, просто говорю что Alert() определяет, передали ей строку или другой тип
 
antslag писал (а) >>
да я понимаю, просто говорю что Alert() определяет, передали ей строку или другой тип

Если функция нуждается в строковом параметре то любой параметр переданый ей будет

приведен к строковому типу.

 
да понимаю я это, я привел код, который доказывает что ф-ция Alert не имеет вид Alert(string s1 = "", string s2 = "", string s3 = "", ... 64 раза), а умеет динамически определять тип.
 
antslag писал (а) >>
да понимаю я это, я привел код, который доказывает что ф-ция Alert не имеет вид Alert(string s1 = "", string s2 = "", string s3 = "", ... 64 раза), а умеет динамически определять тип.

А почему вы думаете что ваш код что то доказывает? Числа типа double выводятся с точностю 4 знака после комы,

а при присвоении числа типа double строковой переменной получается строка в которой 8 заков после комы. Функция

Alert() просто выводит эти значения.