自定义函数的写法
1 #include <iostream> 2 using namespace std; 3 int sum(int,int); //函数原型,可以省略变量名,以分号结尾。 4 int main() 5 { 6 int result = sum(5,6); //调用函数实现 7 cout << "The result is :"<<result<<endl; 8 } 9 10 int sum(int num1,int num2) 11 { //函数真正实现的地方 12 int result = num1+num2; 13 return result; 14 }
头文件作用:头文件(.h)里预先写好了函数原型和函数的真实定义,再在main.cpp文件做调用。
参数传递时,使用引用效果等同于指针,但是更整齐。
函数体中定义的变量叫局部变量,其生命期仅在函数体内。
函数没有返回值时,默认返回的是最后一个变化的参数的自加自减的结果。
默认参数,要么是放在函数原型中,要么放在函数实际定义中,不能两个地方都有。默认参数初值必须从右边开始有初值,右边有,左边才能有没初始化的参数。void test(int a, int b=3 ,int c=5)
string类型可以直接用+进行字符串的拼接。
函数重载:函数名相同,参数列表不同。
解决函数重载需要写很多参数列表的方法是:函数模板:函数定义时不指定数据类型(由虚拟类型代替),调用时由编译器反推数据类型。
this->相当于python中的self, 意指“点方法”. self.a = 5————this->a = 5
类方法的第一个隐含参数就是this指针。
构造函数: func
析构函数:~func (用于释放(delete)堆区分配的动态内存,堆内存相当于仓库(静态的)。栈相当于展厅,栈内存很宝贵,一般用于存放变量等,程序结束自动释放,因此我们diy函数要更多的使用堆内存new方法。)
stu::stu_name 域运算符。
运算符重载:operator (想重载的运算符)。 用途:给某运算符赋予想赋予的运算。