C++预备知识
C++的输入输出流
1.标准输入流对象cin
#include using namespace std; void main() { char buff[1024];
int a;
long b;
cin >> a;
cin >> b;
cin >>buff;
//遇见空格后会停止接受数据
cout << “a:” << a << " " << “b:” << b << " "<< “buff:” << buff << “\n”; system(“pause”); }
cin>>后面的位置代表要输出的内容 在cout<<后一串内容的意思是在a数值输出前加字符串“a:”,后面加空白字符“ ” (也可以不加?)
标准输出流对象cout
如上:
cout<<""<<""<<"";
表示一串需要输出的数据
内联函数
为函数赋予关键词inline,该函数就被设置为内联函数,又叫内置函数
定义格式:
inline 返回值类型 函数名 (参数表)
{
函数体
}
当程序中出现对内联函数的调用时,C++编译器使用函数体中的代码来代替函数调用表达式,这样能加快代码的执行,减少调用开销。内联函数一般只用简单的短语句。
内联函数的案例:
#include<iostream>
using namespace std;
inline double circle(double r)
{ return 3.1416*r*r;}//不是调用而是语句代替
int main()
{
double area;
for (int i = 1;i<=3;i++){
area = circle(i);(用area =3。1416* i * i代替 )//内联函数调用
cout<<"r"<<i<<"area="<<area<<endl;
}
return 0;
}
函数的重载
函数重载的内容和Java类似,要求除了同名以外,在参数类型和参数个数上
要求不能完全相同,返回值的不同不构成重载
&&函数的重载与带默认值的函数一起使用的时候有可能导致二义性:
例如:int fun(int x=0;int y= 0)
int fun (int r)
调用fun(10)的时候————无法判断是为r复制还是对x、y进行修改,会出错
有关动态内存
C语言使用malloc()和free()来进行动态分配内存和释放
C++则最好使用运算符new和delete
new
指针变量名称 = new 类型;
若没有足够的内存满足要求,返回的是空指针
例:int *p;
p = new int;
delete
运算符delete用来释放new分配的储存空间
delete 指针变量名
例子:给数组动态分配内存空间:
#include <iostream>
using namespace std;
int main()
{
int *s;
s = new int [5];
for(int i = 0;i<5;i++)
s[i]= 100+ 2*i;
for(int j=0; j<5;j++)
cout<<s[j]<<" ";
delete [ ]s;
return 0;
}
C++程序基本结构
分为类的声明部分和类的使用部分,
类的使用部分一般由主函数和有关函数组成
C++程序的结构特性示例
#include<iostream>
using namespace std;
class A{
int x,y,z;
...
fun(){...}
...
};
int main()
{A a;
...
a.fun( );
return 0;
}
附:
(1)C++的源程序文件扩展名为.cpp
(2)常用的C++版本,包括VC拥有C和C++两套编译器,系统根据源文件程序扩展名来启相应的编译器。
(3)在windows下,我们常用Visual C++开发环境来编辑、编译以及运行C++程序。
(4)在C++中使用头文件有两种方法:一种是用原本的C格式
#include<iostream.h>
或者用C++的新格式:
#include < iostream >
using namespace std;