面向对象C++(2)C++语言基础

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;
	forint i = 1;i<=3;i++{
	area  = circle(i);(用area =31416* 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++则最好使用运算符newdelete

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;

发布了14 篇原创文章 · 获赞 0 · 访问量 153

猜你喜欢

转载自blog.csdn.net/qq_45772415/article/details/104759008