面向对象程序设计1——面向过程 到 面向对象

从 面向过程 到 面向对象

  • 从C到C++
    第一代:机器语言——用0,1写代码
    第二代:汇编语言——用助记符写代码
    第三代:高级语言——面向过程,用表达式和格式化命令符写代码 C,
    (Java,C++有非过程化倾向)
    第四代:非过程化语言——用结构化命令和可视化操作编写软件
  1. 增加了功能强大的输入输出方法——cin与cout
    使用cin输入不用过多考虑数据的类型
#include<iostream>
using namespace std;  //“std”命名空间,主函数前说明,后可直接使用cin,cout
              //也可在每次使用时对cout 说明,std::cout<<”Hello World”;
int main()
{
	int a;
	double b;          
	
	cin>>a>>b;       // <<,>>是overload运算符,可以处理不同类型输入值
	cout<<a<<endl;   // endl 头文件iostream中定义,存于命名空间std中
	cout<<b<<endl;   //endl 相对于\n来说,可刷新“缓冲区数据流?”
	return 0;
}

printf可以把格式化输出和输出内容放入一条命令中写
用cin输入printf输出较为便捷

关于C与C++的输出对比

#include<iostream>
int main()
{
	double a;
	a = 5/3.0;
	
	printf("a=%.1f\na=%.2f\na=%.3f",a,a,a);
	return 0; 
 } 
#include<iostream>
#include<iomanip>               //格式化输出 
using namespace std; 

int main()
{
	double a;
	a = 5/3.0;
	
    cout<<fixed;     //以普通方式输出,固定点方式显示,setprecision确定小数点后精度
    cout<<"a1="<<setprecision(1)<<a<<endl;   //precision精确度 
    cout<<"a2="<<setprecision(2)<<a<<endl;
    cout<<"a3="<<setprecision(3)<<a<<endl;
}

输出结果
2. 引用
引用是不带星号的指针

void swap(int *a,int *b) //两个指针(地址)
{
	int c;
	c=*a;
	*a=*b;
	*b=c;
}
int main()
{
	int x=3,y=5;
	swap(&x,&y);
	……
void swap(int &a,int &b)  //此处“&”为引用符号
{
	int c;
	c=a;
	a=b;
	b=c;
}
int mian()
{
	int x=3,y=5;
	swap(x,y);
	……
  1. 申请内存空间——常有类型的类型分配
    int n,*q;
    cin>>n;
    申请含n个元素的int型数组,令q指向其0号元素

标准C

//mallloc的内存分配用法
q=(int*)malloc(sizeof(int)*n)

高版本C++

int n;
cin>>n;
int q[n];

C++

//new的内存分配用法
q=new int[n];
  1. 常变量
    常量与变量的结合体——常变量
    常量区分类型吗?
    ——常量有类型,以后缀表示,比如3.0f是float类型
    初值类型与变量类型不同,编译不报错
    初值类型与变量类型不同
    设置常量——定义变量带初值,并规定后续代码不得修改
#include<iostream>
using namespace std;

#define PI 3.1415926
//const double PI=3.1415926  加const——常变量

int main()
{
	double r,s;
	cin>>r;
	s=PI*r*r;
	cout<<s<<endl;
}
  • 面向对象的三个基本特征
    封装
    继承
    多态
  1. 封装
    对象和类概念的主要特征。
    把部件组合到一起并包裹起来。
  2. 继承
    实现继承、接口继承、可视继承
    在已有的东西基础上修修补补
  3. 多态
    实现多态的两种方式——重载覆盖
    同一个功能要应对各种情况
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值