C++ 程序,它可以被定義為一個(gè)對(duì)象集合,彼此之間通過(guò)調(diào)用對(duì)方的方法進(jìn)行通信?,F(xiàn)在讓我們簡(jiǎn)要地看看類,對(duì)象,方法和實(shí)例變量的意思。
首先讓我們看一個(gè)簡(jiǎn)單的示例代碼,這個(gè)程序會(huì)輸出 Hello World。
#include <iostream>
using namespace std;
// main() is where program execution begins.
int main()
{
cout << "Hello World"; // prints Hello World
return 0;
}
讓我們來(lái)看下以上程序的各個(gè)部分:
<iostream>
是必要的。using namespace std;
這一行告訴編譯器使用 std 命名空間。命名空間是 C++ 中一個(gè)相對(duì)較新的特性。//main() is where program execution begins
是一個(gè)在 C++ 可以用來(lái)表示注釋的語(yǔ)句。單可以使用 // 進(jìn)行單行注釋。int main()
這一行是程序的主方法,也是程序執(zhí)行的入口。cout << "This is my first C++ program"
會(huì)將 ”This is my first C++ program”
顯示在屏幕上。return 0;
會(huì)終止 main()
函數(shù)的執(zhí)行,并將 0 返回給調(diào)用進(jìn)程。接著讓我們看看如何保存源文件,編譯和執(zhí)行程序。請(qǐng)按照如下的步驟執(zhí)行:
$ g++ hello.cpp
$ ./a.out
Hello World
確保 g++ 在你的路徑和你目錄包含文件 hello.cpp 運(yùn)行它。
你可以編譯 C/C++ 程序使用 makefile。
在 C++ 中分號(hào)是終止符。也就是說(shuō),每一個(gè)獨(dú)立語(yǔ)句都必須以分號(hào)結(jié)束。它表明了一個(gè)邏輯實(shí)體的結(jié)束。
例如,如下是三個(gè)不同的語(yǔ)句:
x = y;
y = y+1;
add(x, y);
一個(gè)語(yǔ)句塊是一組邏輯上連接的語(yǔ)句,它們被左右花括號(hào)包圍住。例如:
{
cout << "Hello World"; // prints Hello World
return 0;
}
C++ 并不是把一行的結(jié)束作為一個(gè)終結(jié)符。由于這個(gè)原因,它也就不在意你在一行中哪里放置你的語(yǔ)句。例如:
x = y;
y = y+1;
add(x, y);
這個(gè)也等同于:
x = y; y = y+1; add(x, y);
一個(gè) C++ 標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)一個(gè)變量、函數(shù)、類、模塊,或任何其他用戶定義的項(xiàng)目。一個(gè)標(biāo)識(shí)符以字母 A 到 Z 或者 a 到 z 或下劃線(_)開(kāi)始,接著后面是零個(gè)或多個(gè)字母,下劃線,數(shù)字(0 - 9)。
C++ 不允許用一些特殊符號(hào)作為標(biāo)識(shí)符,如@、 $、%。C++
是一種區(qū)分大小寫(xiě)的編程語(yǔ)言。因此,Manpower
和 manpower
在 C++ 中是兩個(gè)不同的標(biāo)識(shí)符。
如下是一些合法的標(biāo)識(shí)符的例子:
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
如下的列表展示了 C++ 中的關(guān)鍵字。這些關(guān)鍵字不能用作常量或變量或其他標(biāo)識(shí)符的名稱。
asm | else | new | this |
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typeid |
char | float | reinterpret_cast | typename |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static_cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template | ? |
有些字符有其他的表示含義,稱為三元字符序列。三元字符是由三個(gè)字符組成,當(dāng)表示一個(gè)字符序列并且該序列總是以兩個(gè)問(wèn)號(hào)開(kāi)始。
三元符在任何地方出現(xiàn)時(shí)都會(huì)被轉(zhuǎn)義,包括在字符串字面值和字符字面值,注釋,和預(yù)處理器指令中。
以下是最常用的三元符序列:
Trigraph | Replacement |
---|---|
??= | # |
??/ | \ |
??' | ^ |
??( | [ |
??) | ] |
??! | | |
??< | { |
??> | } |
??- | ~ |
所有的編譯器不支持三元符,也不建議使用,因?yàn)樗鼈兒苋菀鬃屓嘶煜?/p>
只包含空格,可能有注釋的行被稱為一個(gè)空行,并且 C++ 編譯器會(huì)完全忽略它。
空格是 C++ 中使用的術(shù)語(yǔ)來(lái)描述空格、制表符、換行符和注釋。空格將一部分注釋與其他的部分分隔開(kāi),從而使編譯器能夠識(shí)別一個(gè)元素在語(yǔ)句中的位置,例如 int 的結(jié)束,和下一個(gè)元素的開(kāi)始位置。因此,在下面的語(yǔ)句中,
int age;
在 int 和 age 之間必須有至少一個(gè)空格字符(通常是一個(gè)空格),這樣編譯器才能夠區(qū)分它們。另一方面,在如下語(yǔ)句中
fruit = apples + oranges: //Get the total fruit
在 fruit 和 = 之間,或者 = 和 apples 之間是不需要空格的,盡管這樣做不會(huì)有什么影響。如果為了使程序閱讀起來(lái)更方便,你可以在它們之間添加空格。