C++技術(shù)固然是很時(shí)髦的,許多C用戶都想在盡可能短的時(shí)間內(nèi)為自己貼上C++的標(biāo)簽。介紹C++的書很多,但只有那些已經(jīng)僥幸入門的用戶才偶爾去翻翻,仍有不少在C++門口徘徊的流浪漢。
本文只針對(duì)C用戶,是一位很不錯(cuò)的老用戶(譬如他在遇到最簡(jiǎn)單的問題時(shí)都嘗試著使用指針),通過一些C和更好的C++(本文用的是Borland C++3.1版本)例程介紹有關(guān)C++的一些知識(shí),讓讀者朋友們“淺入深出”,輕輕松松C to C++!
一、標(biāo)簽!標(biāo)簽!
快快為你的程序貼上C++的標(biāo)簽,讓你看起來很像個(gè)合格的C++用戶……
1.注釋(comment)
C++的注釋允許采取兩種形式。第一種是傳統(tǒng)C采用的/*和*/,另一種新采用的則是//,它表示從//至行尾皆為注釋部分。讀者朋友完全可以通過//使你的代碼帶上C++的氣息,如test0l:
//test01.cpp
#include
//I'm a C++user!
//…and C is out of date.
void main()
{
cout<<"Hello world!\n"; //prints a string
}
Hello-world!
如果你嘗試著在test0l. exe中找到這些高級(jí)的注釋,很簡(jiǎn)單,它們不會(huì)在那里的。
2. cincout
你可能從test0l中嗅出什么味兒來了,在C++中,其次的貴族是cout,而不是很老土的printf ( )。左移操作符'<<'的含義被重寫,稱作“輸出操作符”或“插入操作符”。你可以使用'<<'將一大堆的數(shù)據(jù)像糖葫蘆一樣串起來,然后再用cout輸出:
cout << "ASCII code of "<< 'a' << " is:" <<97;
ASCII code of a is:97
如何來輸出一個(gè)地址的值呢?在C中可以通過格式控制符”%p”來實(shí)現(xiàn),如:
printf ("%p,&i);
類似地,C++也是這樣:
cout << & i;
但對(duì)字符串就不同啦!因?yàn)?
char * String="Waterloo Bridge";
cout << String; //prints ‘Waterloo Bridge'
只會(huì)輸出String的內(nèi)容。但方法還是有的,如采取強(qiáng)制類型轉(zhuǎn)換:
cout<<(void *)String;
cin采取的操作符是'>>',稱作“輸入操作符”或“提取操作符”。在頭文件iostream.h中有cin cout的原型定義,cin語(yǔ)句的書寫格式與cout的完全一樣:
cin>>i; //ok
cin>>&i; //error. Illegal structure operation
看到了?別再傻傻地送一個(gè)scanf()常用的'&'地址符給它。
C++另外提供了一個(gè)操縱算子endl,它的功能和'\n'完全一樣,如test0l中的cout語(yǔ)句可改版為:
cout << ”Hello world!”<
3.即時(shí)聲明
這是筆者杜撰的一個(gè)術(shù)語(yǔ),它的原文為declarations mixed with statements,意即允許變量的聲明與語(yǔ)句的混合使用。傳統(tǒng)C程序提倡用戶將聲明和語(yǔ)句分開,如下形式:
int i=100;
float f; //declarations
i++;
f=1.0/i; //statements
而C++拋棄這點(diǎn)可讀性,允許用戶采取更自由的書寫形式:
int i=100;
i++;
float f =1. 0/i;
即時(shí)聲明常見于for循環(huán)語(yǔ)句中:
for(int i = 0; i < 16; i++)
for(int j = 0; j < 16; j++)
putpixel(j i Color[i][j]);
這種形式允許在語(yǔ)句段中任點(diǎn)聲明新的變量并不失時(shí)機(jī)地使用它(而不必在所有的聲明結(jié)束之后)。
本文只針對(duì)C用戶,是一位很不錯(cuò)的老用戶(譬如他在遇到最簡(jiǎn)單的問題時(shí)都嘗試著使用指針),通過一些C和更好的C++(本文用的是Borland C++3.1版本)例程介紹有關(guān)C++的一些知識(shí),讓讀者朋友們“淺入深出”,輕輕松松C to C++!
一、標(biāo)簽!標(biāo)簽!
快快為你的程序貼上C++的標(biāo)簽,讓你看起來很像個(gè)合格的C++用戶……
1.注釋(comment)
C++的注釋允許采取兩種形式。第一種是傳統(tǒng)C采用的/*和*/,另一種新采用的則是//,它表示從//至行尾皆為注釋部分。讀者朋友完全可以通過//使你的代碼帶上C++的氣息,如test0l:
//test01.cpp
#include
//I'm a C++user!
//…and C is out of date.
void main()
{
cout<<"Hello world!\n"; //prints a string
}
Hello-world!
如果你嘗試著在test0l. exe中找到這些高級(jí)的注釋,很簡(jiǎn)單,它們不會(huì)在那里的。
2. cincout
你可能從test0l中嗅出什么味兒來了,在C++中,其次的貴族是cout,而不是很老土的printf ( )。左移操作符'<<'的含義被重寫,稱作“輸出操作符”或“插入操作符”。你可以使用'<<'將一大堆的數(shù)據(jù)像糖葫蘆一樣串起來,然后再用cout輸出:
cout << "ASCII code of "<< 'a' << " is:" <<97;
ASCII code of a is:97
如何來輸出一個(gè)地址的值呢?在C中可以通過格式控制符”%p”來實(shí)現(xiàn),如:
printf ("%p,&i);
類似地,C++也是這樣:
cout << & i;
但對(duì)字符串就不同啦!因?yàn)?
char * String="Waterloo Bridge";
cout << String; //prints ‘Waterloo Bridge'
只會(huì)輸出String的內(nèi)容。但方法還是有的,如采取強(qiáng)制類型轉(zhuǎn)換:
cout<<(void *)String;
cin采取的操作符是'>>',稱作“輸入操作符”或“提取操作符”。在頭文件iostream.h中有cin cout的原型定義,cin語(yǔ)句的書寫格式與cout的完全一樣:
cin>>i; //ok
cin>>&i; //error. Illegal structure operation
看到了?別再傻傻地送一個(gè)scanf()常用的'&'地址符給它。
C++另外提供了一個(gè)操縱算子endl,它的功能和'\n'完全一樣,如test0l中的cout語(yǔ)句可改版為:
cout << ”Hello world!”<
3.即時(shí)聲明
這是筆者杜撰的一個(gè)術(shù)語(yǔ),它的原文為declarations mixed with statements,意即允許變量的聲明與語(yǔ)句的混合使用。傳統(tǒng)C程序提倡用戶將聲明和語(yǔ)句分開,如下形式:
int i=100;
float f; //declarations
i++;
f=1.0/i; //statements
而C++拋棄這點(diǎn)可讀性,允許用戶采取更自由的書寫形式:
int i=100;
i++;
float f =1. 0/i;
即時(shí)聲明常見于for循環(huán)語(yǔ)句中:
for(int i = 0; i < 16; i++)
for(int j = 0; j < 16; j++)
putpixel(j i Color[i][j]);
這種形式允許在語(yǔ)句段中任點(diǎn)聲明新的變量并不失時(shí)機(jī)地使用它(而不必在所有的聲明結(jié)束之后)。