C++学习笔记_1_ C++入门(1)

C++学习笔记(1)C++入门


前言

从今天开始记录自己学习C++的过程,并分享给大家,共同进步。注:从0开始

一、命名空间使用

一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。给出如下命名空间:

using namespace std;
namespace N {
    
    
    int a = 10;
    int b = 20;
    int Add(int left, int right)
    {
    
    
        return left + right;
    }
    int Sub(int left, int right)
    {
    
    
        return left - right;
    }
}
int main()
{
    
    
    printf("%d\n", a); // 该语句编译出错,无法识别a
    return 0;
}

此时,需正确使用命名空间,三种方法如下:

  1. 加命名空间名称及作用域限定符
int main()
{
    
    
	printf("%d\n", N::a);
 	return 0; 
}
  1. 使用using将命名空间中成员引入
using N::b;
int main()
{
    
    
 	printf("%d\n", N::a);
 	printf("%d\n", b);
 	return 0; 
}
  1. 使用using namespace 命名空间名称引入
using namespce N;
int main()
{
    
    
	printf("%d\n", N::a);
 	printf("%d\n", b);
 	Add(10, 20);
 	return 0; 
}

二、C++输入&输出

新生婴儿会以自己独特的方式向这个崭新的世界打招呼,C++刚出来后,也算是一个新事物,那C++是否也应该向这个美好的世界来声问候呢?我们来看下C++是如何来实现问候的。

1.输出hello world

代码如下:

#include<iostream>
using namespace std;
int main()
{
    
    
	cout<<"Hello world!!!"<<endl;
 	return 0; 
}

说明:
1.使用cout标准输出(控制台)和cin标准输入(键盘)时,必须包含< iostream >头文件以及std标准命名空间。推荐使用+std的方式。
2.使用C++输入输出更方便,不需增加数据格式控制,如:整形–%d,字符–%c

2.输出数据

代码如下:

#include<iostream>
//using namespace std;//c++库所有东西都是放在std命名空间中
int main()
{
    
    
	//自动识别类型
	//std::cout << "hello world\n"<<std::endl;
	int i = 1;
	double d = 1.11;
	std::cout << "i = " << i << std::endl;
	std::cout << "d = " << d << std::endl;
	return 0;
}

结果:
在这里插入图片描述

3.输入输出数据

与赋值无关,通过cin从键盘输入值,通过cout输出,代码如下:

#include<iostream>
//常用的库里面一些对象或者类型可以展出来
//工程项目中通常比较推荐
using std::cout;
using std::endl;

int main()
{
    
    
	int i = 1;
	double d = 1.11;
	std::cin >> i >> d;
	std::cout << "i = " << i << std::endl;
	std::cout << "d = " << d << std::endl;
	return 0;
}

测试时输入5,3.111,输出结果如下:
在这里插入图片描述

扫描二维码关注公众号,回复: 13139085 查看本文章

三、缺省参数

1.缺省参数概念

缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
用法如下:

void TestFunc(int a = 0) {
    
    
 cout<<a<<endl; }
int main()
{
    
    
 	TestFunc(); // 没有传参时,使用参数的默认值
 	TestFunc(10); // 传参时,使用指定的实参
}

2.缺省参数分类

  • 全缺省参数
#include<iostream>
using namespace std;
void Func(int a = 10,int b = 10,int c = 30)
{
    
    
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl;
}
  • 半缺省参数
void Func2(int a, int b, int c=20)
{
    
    
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl;
}

测试代码如下:

int main()
{
    
    	//传参必须从右往左依次传参,不能间隔
	Func();
	Func(1);
	Func(1,2);
	Func(1,2,3);
	//Func2(1);函数不接受一个参数,半缺省b也要赋值
	Func(1, 2);
	Func2(1, 2, 3);
	return 0;
}

测试结果如下:
在这里插入图片描述

四、重载

什么是函数重载

函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数类型顺序)必须不同,常用来处理实现功能类似数据类型不同的问题

为什么c语言不支持重载,C++支持重载?

因为C++重载函数,只要参数不同,修饰出来的名字就是不同的,那么就不会冲突,链接时就可以找到。C++使用修饰后的名字去找,C不是。


C++入门笔记,如有错误请批评指出。

猜你喜欢

转载自blog.csdn.net/kris_paul/article/details/113476703
今日推荐