#include <iostream>using namespace std;class Student
{
private:int num;int score;
public:void setdata()  //定义公用的函数setdate{cin>>num;cin>>score;}void display()   //定义公用函数display{cout <<"num="<<num<<endl;cout <<"score="<<score<<endl;}
};
Student stu1,stu2;
int main(){stu1.setdata();stu1.display();stu2.setdata();stu2.display();return 0;
}                 //在函数的后面加上不加;结果都是一样的一句话的结束符号;不影响函数的执行

在C++中也允许函数的重载,即函数的一物多。

#include <iostream>
//#include <iomanip>
using namespace std;int max(int a, int b,int c)
{if(b>a)a=b;if(c>a)a=c;return a;
}
float max(float a, float b,float c)
{if(b>a)a=b;if(c>a)a=c;return a;
}
long max(long a, long b,long c)
{if(b>a)a=b;if(c>a)a=c;return a;
}
int main(){int a,b,c;float d,e,f;long g,h,i;cin>>a>>b>>c;cin>>d>>e>>f;cin>>g>>h>>i;int m;m=max(a,b,c);cout<<"max_i="<<m<<endl;float n;n=max(d,e,f);cout<<"max_f="<<n<<endl;long int p;p=max(g,h,i);cout<<"max_l="<<p<<endl;return 0;
}                 //在函数的后面加上不加;结果都是一样的一句话的结束符号;不影响函数的执行

main函数三次调用函数max()函数,每次实参的类型不同。系统会根据实参的类型找到与之匹配的函数,然后调用该函数。当然当参数的个数不同的时候定义是的函数也能够进行重载。
C++也提供了函数模板,所谓函数模板就是建立一个通用函数,其函数的类型和形参不进行具体的指定,使用一个虚拟的类型来代表。这个通用的函数就是函数模板。

#include <iostream>
//#include <iomanip>
using namespace std;
//通用函数定义
template<typename T>
T max1(T a,T b,T c)
{if(b>a)a=b;if(c>a)a=c;return a;}int main(){cout<<max1(5,4,6)<<endl;cout<<n_add(5,3,5)<<endl;cout<<n_add(5.35,5.5,6)<<endl;return 0;return 0;
}                 //在函数的后面加上不加;结果都是一样的一句话的结束符号;不影响函数的执行

变量的引用,在C++中使用符号&在变量之前代表对变量的引用,只要变量一被引用那么变量和被引用变量就代表同一个变量。

#include <iostream>
using namespace std;int main() {int a=0;int &b=a;b=9;cout<<a<<endl;cout<<b<<endl;cout << "Hello, World!" << endl;return 0;
}

在进行变量的引用之后,改变变量b的值变量a的值也会发生改变,即变量a和b代表同一个变量。
并且对变量声明一个引用,并不另开辟内存单元,b和a都代表同一个变量单元。在声明一个引用的时候,必须对其进行初始化,即声明代表哪一个变量。
引用和被引用的变量具有相同的地址

#include <iostream>
using namespace std;int main() {int a=0;int &b=a;b=9;cout<<a<<endl;cout<<b<<endl;cout<<&a<<endl;cout<<&b<<endl;cout << "Hello, World!" << endl;return 0;
}/home/andrew/文档/Clion/untitled2/cmake-build-debug/untitled2
9
9
0x7ffdfcae9474
0x7ffdfcae9474
Hello, World!Process finished with exit code 0

C++笔记函数重载函数模板相关推荐

  1. 函数重载函数的引用算重载吗_了解C ++中的函数重载

    函数重载函数的引用算重载吗 介绍 (Introduction) Today in this tutorial, we are going to understand the concept of Fu ...

  2. java的函数重载函数_Java函数重载和重写

    版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 函数也称为方法! 函数重载:在同一个类中存在多个函数,函数名称相同但参数列表不同.这就是函数的重载. 注意事项: ...

  3. c++学习笔记内联函数,函数重载,默认参数

    c++学习笔记内联函数,函数重载,默认参数 1 inline内联函数 C++中的const常量可以替代宏常数定义,如: const int A = 3;  #define A 3 C++中是否有解决 ...

  4. C++学习笔记:(二)函数重载 常量与引用

    目录 3.函数重载 3.1 非成员函数重载 3.2 成员函数重载 3.3 函数的默认参数 3.4 内联函数 4.常量与引用 4.1 const的最初动机 4.2 const与指针 4.3 const与 ...

  5. C++学习笔记(十二):重载函数

    1. 什么是重载函数 假设同一作用域内的几个函数名字同样但形參列表不同.那么这些函数就称之为--重载函数. 比如: void print( const char *cp); void print(co ...

  6. 【C++学习笔记】函数返回和函数重载

    一.返回类型和return语句   return语句终止当前执行的函数并将控制权返回到调用该函数的地方,return语句有两种形式: return: return expression; 1.1 无返 ...

  7. C++PrimerPlus 学习笔记 | 第八章 函数探幽 |3.默认参数 4.函数重载

    默认参数 默认参数是指当函数调用的时候省略了实参自动使用的一个值. // 函数原型 void wow(int n = 1); // 如果这样调用函数等价于 wow(1) wow() // == wow ...

  8. C++笔记(16)函数默认参数和函数重载

    1.默认参数 默认参数指的是函数调用时省略了一个实参时,自动使用默认值.函数默认值的设置,必须通过函数原型,方法是将默认值赋给原型中的参数.注意,对含有多个参数的函数,默认值必须放在右边,即如果某一位 ...

  9. C++ 学习之函数重载、基于const的重载

    今天阅读boost源码发现一个奇怪的问题(enable_shared_from_this.hpp源码) #ifndef BOOST_SMART_PTR_ENABLE_SHARED_FROM_THIS_ ...

最新文章

  1. Kaggle API
  2. 云原生时代,.NET5必将称王!
  3. Linux系统利用C语言获取网口信息(IP地址,MAC地址,状态,带宽speed等)
  4. php$.ajax(),使用PHP的jQuery $.ajax()
  5. dem数据(dem数据格式)
  6. 北京师范大学c语言题库,北京师范大学C语言题库.doc
  7. 百度富媒体编辑器 使用
  8. 微信js 已经填写JS接口安全域名了,仍然报invalid url domain
  9. webQQ迷你版协议(基于http://w.qq.com)
  10. RSA算法计算d的两种方法。
  11. Spring Boot 结合 FreeMarker导出word文件
  12. onload和DOMContentLoaded事件
  13. SUMO使用E2检测器获取信号交叉口车道信息和信号控制方案
  14. 关于Keil编译程序出现“File has been changed outside the editor,reload?”的解决方法
  15. 共享特定特征转移的跨模态人员重识别
  16. PCB应力应变测试分析结合IPC-9702和IPC-9704A标准
  17. Python调用百度地图api路径查询
  18. se(3)-TrackNet: Data-driven 6D Pose Tracking by Calibrating Image Residuals in Synthetic Domains
  19. 几何不变矩 Hu 矩
  20. Deep Learning for Massive MIMO CSI Feedback

热门文章

  1. 2009.09.01 博客近期改进公告!
  2. 坐在马桶上看算法:只有五行的Floyd最短路算法
  3. hdu 5124(线段树区间更新+lazy思想)
  4. UVa --10566
  5. List集合中两种遍历方式
  6. NYOJ 73 比大小
  7. python上的数据库sqlite3——插入多行数据
  8. Web框架 — Flask
  9. 文件操作:fread()和fwrite()
  10. onpropertychange事件