Functions
Overloads
Overloaded functions share a name but accept different parameter types or counts.
Overloads
overloads.cpp
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
#include <iostream>
#include <string>
std::string describe(int count) {
return "count=" + std::to_string(count);
}
std::string describe(std::string label) {
return "label=" + label;
}
int main() {
int count = ;
std::string label = ;
std::string countMessage = describe(count);
std::string labelMessage = describe(label);
std::cout << countMessage << std::endl;
std::cout << labelMessage << std::endl;
return 0;
}
overload
C++ chooses the overload whose parameter list best matches the arguments in the call.