栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++面向对象程序设计Note.3

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++面向对象程序设计Note.3

函数的重载

(1)函数名相同
(2)函数参数的特征(形参的类型或个数)不同

配套例子讲解


带有默认参数的函数

C++在说明函数原型时,可为参数指定默认参数值,以后调用该函数时,若省略其中某一参数,C++自动的以默认值作为相应的函数参数的值。

eg:int area(int x = 5, int y = 10, int z = 0);

area(3, 4, 5);(✓)
area(25);(✓) //相当于area(25, 10, 0)
area();(✓) //相当于area(5, 10, 0)
area(, 4, 5)(×) //不允许某个参数省略后,再给后面的参数指定参数值

【注】:

int area(int x = 5, int y = 10, int z = 0);

①不能写 int area(int x, int y = 10, int z); ,定义默认值的参数 后面 不能有不取默认值的参数。所以,应该写: int area(int x, int z, int y = 10);;
②如果函数定义在前,就在定义中指定默认参数值,但如果声明在前,就在声明中指定默认参数值;
③当函数的重载带默认参数时,避免二义性(反过来,也能一定程度的简化程序(重载函数)的编写);


标题作用域运算符(::)

用来解决局部变量与全局变量重名的问题

局部变量可以在其作用域内屏蔽全局变量
可以用“::”对屏蔽的同名变量进行访问

#include
using namespace std;

int avar = 10;

int main()
{
	int avar = 20;
	cout<<::avar< 

题外话:该符号还可以“代替”命名空间


强制类型转换

①类C

double a = 3.14;
int b = (double)a;

②类似于函数调用格式(推荐)

double a = 3.14;
int b = double(a);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/297795.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号