Работа с аргументами
Задание такое: Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов. Если аргумент только один, то найти длину этой строки.
Программа есть, но нужно доработать, а именно в той части где должно выполняться условие, что если аргумент один, найти длину этой строки. Помогите доделать согласно условию. Я думаю, что дальше нужно добавить функцию void func(string in) и там как дальше?
Код:
#include <iostream>
#include <string>
using namespace std;
// прототипы
void func(string, string);
void func(string);
int main()
{
setlocale(LC_ALL,"Russian");
string first, second;
cout << "Введите первую строку: ";
getline(cin, first);
cout << "Введите вторую строку: ";
getline(cin, second);
func(first, second);
func(first);
func(second);
system("pause");
return 0;
}
// функция сравнивает строки
void func(string first, string second)
{
if (first == second)
{
cout << "Строки одинаковы" << endl;
}
else
{
cout << "Строки различны" << endl;
}
}
#include <string>
using namespace std;
// прототипы
void func(string, string);
void func(string);
int main()
{
setlocale(LC_ALL,"Russian");
string first, second;
cout << "Введите первую строку: ";
getline(cin, first);
cout << "Введите вторую строку: ";
getline(cin, second);
func(first, second);
func(first);
func(second);
system("pause");
return 0;
}
// функция сравнивает строки
void func(string first, string second)
{
if (first == second)
{
cout << "Строки одинаковы" << endl;
}
else
{
cout << "Строки различны" << endl;
}
}
Код:
....
int func(const string&);
....
int main(){
....
cout << "Длина первой строки: " << func(first) << endl;
cout << "Длина второй строки: " << func(second) << endl;
....
}
....
int func(const string& str) {
return str.length();
}
int func(const string&);
....
int main(){
....
cout << "Длина первой строки: " << func(first) << endl;
cout << "Длина второй строки: " << func(second) << endl;
....
}
....
int func(const string& str) {
return str.length();
}
Но, возможно, от вас хотели не перегрузки ф-ции, а одной универсальной? Не очень понятно...