1. 程式人生 > 其它 >C++學習筆記_1_ C++入門(1)

C++學習筆記_1_ C++入門(1)

技術標籤:C++c++

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,輸出結果如下:
在這裡插入圖片描述

三、預設引數

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++入門筆記,如有錯誤請批評指出。