Перегрузка функций
Условие: написать программу, содержащую функцию для вывода даты. эту функцию перегрузить для получения даты в виде строки и в виде трёх целых чисел.
Код:
#include <iostream>
#include <clocale>
#include <string>
#include <cstdlib>
#include <conio.h>
using namespace std;
struct Date {
unsigned char day;
unsigned char month;
unsigned short year;
};
void date(Date dt) {
cout << "Дата: " << (int)dt.day << "." << (int)dt.month << "." << dt.year << endl;
}
void date(Date d, string& date_string) {
char tmp[5];
date_string = itoa(d.day, tmp, 10);
date_string += ".";
date_string += itoa(d.month, tmp, 10);
date_string += ".";
date_string += itoa(d.year, tmp, 10);
}
void date(Date d, int& day, int& month, int& year) {
day = d.day;
month = d.month;
year = d.year;
}
int main() {
setlocale(LC_ALL,"");
Date d = {11, 12, 2000};
date(d);
string str;
date(d, str);
cout << "Дата: " << str << endl;
int day, month, year;
date(d, day, month, year);
cout << "Дата: " << day << "." << month << "." << year << endl;
cout << endl << "Для выхода нажмите клавишу...";
getch();
return 0;
}
#include <clocale>
#include <string>
#include <cstdlib>
#include <conio.h>
using namespace std;
struct Date {
unsigned char day;
unsigned char month;
unsigned short year;
};
void date(Date dt) {
cout << "Дата: " << (int)dt.day << "." << (int)dt.month << "." << dt.year << endl;
}
void date(Date d, string& date_string) {
char tmp[5];
date_string = itoa(d.day, tmp, 10);
date_string += ".";
date_string += itoa(d.month, tmp, 10);
date_string += ".";
date_string += itoa(d.year, tmp, 10);
}
void date(Date d, int& day, int& month, int& year) {
day = d.day;
month = d.month;
year = d.year;
}
int main() {
setlocale(LC_ALL,"");
Date d = {11, 12, 2000};
date(d);
string str;
date(d, str);
cout << "Дата: " << str << endl;
int day, month, year;
date(d, day, month, year);
cout << "Дата: " << day << "." << month << "." << year << endl;
cout << endl << "Для выхода нажмите клавишу...";
getch();
return 0;
}