Loading...
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки
Best Answer

Не е задължително, просто са примери.

Но, обикновено когато 2 метода правят едно и също нещо и параметрите им представляват едно и също нещо, като само типовете им се различават, е добра практика да кръстиш самите параметри по един и същи начин. Така при четене на кода после е по-ясно, че това е overload на метод с една и съща логика и едни и същи параметри, но за различни типове данни

0
gydigydi avatar gydigydi 12 Точки

Явно не ми е ясна задачата.

Според мен първата функция прави масив инт и вика втората функция която попълва масива инт с позициите на форматиращите символи и след връщането от нея гледа позициите в инт масив ги замества в стринга от стринг масива и вече тука има 2 масива с еднакви имена.

стринг и инт. Това ми е проблема.

 

На мен лично втората функция ми е съвсем излишна и усложнява кода.

0
31/03/2017 13:21:41
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки

Задачата е да направиш един клас, който приема един стринг, и после - като извикаш една от тези функции - замества в този стринг определени части с елементите от масивите. Функциите не правят никакви масиви, те приемат масиви. И класът се казва StringFormatter, съответно ще прави нещо свързано с формата на един стринг. Тоест класът прави нещо подобно на printf от C, а ако си писал примерно на C#, String.Format() прави нещо подобно, на Java също, на JavaScript също има подобен аналог, на PHP sprintf отново върши подобна работа.

Виж примера, който показва как се ползва обект от класа в задачата. Ако напишеш класа вярно, тогава примерния код трябва да даде точно резултатът, който е описан в  коментара.

string s = “Dear *:0, Our company *:1 wants to make you a Donation Of *:2 Million *:3 in good faith. Please send us a picture of your credit card”

StringFormatter formatter(s, “*:”);

formatter.format(new string[]{“Ben Dover”, “Totally Legit NonSpam Ltd”, “13”, “Leva”}, 4);

cout << s; //should print “Dear Ben Dover, Our company Totally Legit NonSpam Ltd wants to make you a Donation Of 13 Million Leva in good faith. Please send us a picture of your credit card” 

 

0
gydigydi avatar gydigydi 12 Точки

Това ми е ясно. Програмката ми работи с променено име на двата масива.

 

formatter.format(new string[]{“Ben Dover”, “Totally Legit NonSpam Ltd”, “13”, “Leva”}, 4);

formatter.format(new string[]{"Ben Dover", "Totally Legit NonSpam Ltd","13", "Leva"}, 4);

Това не ми работи, дава грешка и първо присвоявам на променлива и тогава подавам.

error: too many initializers for 'std::__cxx11::string [1] {aka std::__cxx11::basic_string<char> [1]}'|

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.