今天终于开始期盼已久的C++学习了!
听高手们说学过C的人学C++很easy,带着宁可相信的态度开始了今天的学习,首先对于C++中的类和对象还是一知半解。但冲动的心情还是抵挡不住写写记录的想法!
当然都是基本之基本,小心归纳于此:
<1>cout<<”Hello World!”<<endl;(扩展名.cpp)
当然所有程序员都是从Hello World开始的!注意C++的格式,在C中printf表示输出,有控制格式,而C++中只需在初始化的时候需要定义类型,使用的时候系统自动识别。
C++中的cout表示的是一个对象,而C中的printf则是一个函数。C++中体现了“流”的概念,看“<<”这就是有流的感觉。int a,b cin>>a>>b。
对象=(算法+数据结构) 程序=(对象+对象+…)
<2>C++的不同点、出彩点:
const修饰符,const int PI=3,类似C中的#defien PI 3(各有优缺吧)
注意的地方,const char *ptr=”Hello” //此处的Hello是一个字符串常量,是不能改变的。
char * const ptr=”Hello”//此处const修饰的是ptr所以ptr是不能改变的,即不能这么赋值 ptr=”World!!”
<3>带有缺省参数的函数,例如:
#include <iostream.h>
#include <iomanip.h>
void display(char *dis="Hello Wrold");
int main()
{
display("Who are you?"); //输出Who are you
display(); //输出Hello World
return 0;
}
void display(char *dis)
{
cout<<setw(20)<<dis<<endl;
}
<4>函数重载,例如:
#include <iostream.h>
#include <math.h>
int abs_show(int a); //编译器会更具不同的参数类型选择不同的函数运行
float abs_show(float a);//当参数为float型时,运行此函数!所以当心二义!
double abs_show(double a);
int main()
{
cout<<abs_show(-10)<<endl;
cout<<abs_show(-10.2595)<<endl;
cout<<abs_show(-12.065656464)<<endl;
return 0;
}
int abs_show(int a)
{
return abs(a); //abs函数返回的是int型的。
}
float abs_show(float a)
{
if (a < 0)
{
return -a;
}
else
{
return a;
}
}
double abs_show(double a)
{
if (a < 0)
{
return -a;
}
else
{
return a;
}
}
<5>void swap(int &m,int &n)
{ int temp;
temp=m; m=n; n=temp;
}
void main()
{ int a=10,b=20;
swap(a,b);
cout<<a<<b<<endl;
}
输出 20 10
降地址交换了!
补充:int i;为全局变量
引用时需这样cout<<::i<<endl;
还需注意作用域:例如
int main()
{
int a=9;
cout<<a<<endl;
{
int a=99;
cout<<a<<endl;
}
cout<<a<<endl;
}
输出结果为:9 99 9
作用域的范围是从定义该变量起到最近“}”为止。