第一讲:从c到c++
来源:互联网 发布:java swing 教程 编辑:程序博客网 时间:2024/05/19 06:16
1.1 从c到c++
c++
- 在面向过程的基础上对c语言进行扩充
- 增加面向对象的机制
特点
- 更直观地描述客观世界中存在的事物(对象)以及它们之间的关系.
- 将事物看成具有属性和行为的对象.
- 通过抽象找出同一类对象的共同属性和行为,形成类
- 通过类的继承和多态实现代码重用
1.2 面向对象的基本概念
对象
* 任何事物都可以看成一个对象,可以是自然物体,也可以是逻辑结构.包含两个要素:
* 静态特征称为"属性"
* 动态特征称为"行为"
* 外界向物体发一个信息称为"消息"
* 对象由一组属性和行为构成.
类
* 将具有相同特性的事物归纳,集中成一个统一类型,称为抽象.作用:表示同类事物的本质.
* 在c++中,类是具有相同属性的服务的一组对象的集合.类是对象的抽象,对象则是类的具体表现形式/特例.
封装
* 把对象不想让外界知道的属性和功能屏蔽起来,让外界看不到.其含义:
* 将有关的数据和操作函数封装成一个基本单位,即对象内,各对象之间相互独立,互不干扰.
* 将对象中的部分属性或功能对外屏蔽,只留少数接口对外公布,已接受外界的消息.
* 优点
1. 降低了操作对象的复杂程度,使用时不需要知道对象内部的实现细节,只需要对外部功能操作就好.
2. 对象的行为由内部数据结构和相关的操作,外部行为由操作接口实现,关心的是接口提供的服务.
继承
* 若已经有了一个名为"A"的类,还想建立一个名为"B"的类,而后者内容只是在前者的基础上增加了少量内容,只需要把A类拿过来,在此基础上添加新的内容就可以了,这就是面对对象程序设计的继承机制.
* c++提供继承机制,大大节省了编程工作量,这就是所谓的:软件重用(software reusability) 的思想.
多态性
* 如果有几个相似而不同的对象,要求在向它们发出同一个消息时,各自作出不同的操作,这种情况就是:多态现象.
* 多态性是指由继承而产生的不同的类,其对象对于统一消息会作出不同的响应.
* 多态性能增加程序的灵活性,它是面向对象程序设计的重要特性.
1.3 简单的c++程序
#include <iostream> //预编译命令using namespace std; //int main() //主函数{ //函数开始 cout<<"How are you!\n"; //输出字符串 return 0; } //函数体结束
iostream 和 iostream.h 的区别
文件的引入的区别.
- 建立.h文件
class st //定义类st{ private: //类的私有数据成员 int num, score; public: //类共有的成员函数 void setdata(); {cin>>num>>score;} void display(): {cout<<"num="<<num<<endl;}};//结束必须有 ";"
- 建立.cpp文件
#inlcude <iostream>using namespace std;#include "aaa.h" //调用头文件st st1, st2; //定义st类型的变量st1,st2,称为对象int main(){ st1.setdata(); .... return 0;}
程序单位
- 预处理命令:以"#"开头的行,称为编译预处理行.
- "#include "称为文件预处理命令
- "include " 是将文件"iostream.h”的内容包含到新建的程序中去.
- iostream.h 是c++系统定义的一个头文件,其中设置了c++的输入/输出(I/O)相关环境,并定义了输入流cin和输出流cout对象.
- 全局声明部分:在函数外的声明部分,用户自定义数据类型.程序中变量的定义,例如对类st的定义,对变量的定义,对函数的声明.
- 函数:函数是程序中必须有的和最基本的组成部分,main()是每一个c++程序都必须有的,称为主函数,他是程序的入口.
注:main()前的int表示住函数的返回值,{}中为函数体.c++在正常执行时返回0,否则返回-1.
c++对于c的补充
- cin,cout,endl的使用
- 用const定义常变量.
宏定义如下
1.不带参宏定义
#define PI 3.14 //定义符号常量,实际编译时只是字符置换
2.带参宏定义
#define 宏名(参数表) 字符串
/字符传中包含在括弧中指定的参数/
#define S(r) PI*r*r
而S(a+b)为PI*a+b*a+b
#define S(r) PI*(r)*(r)
为PI*(a+b)*(a+b)
用const定义长常变量
c++中 const float PI=3.14
PI具有变量属性,有数据类型,占用存储空间,有地址,可以用指针指向它,但是程序运行时其值不可改变.
- 第一讲:从c到c++
- C语言第一讲
- 第一课, 从C到C++
- 【C大事】第十二讲:从CFree过度到VC6
- Python第一讲从安装到入门
- 第一讲:Obj-C 基本语法
- C游戏编程入门第一讲心得
- 第一讲 :● C 语言基础
- 【c#】第一讲:概述和规则
- 第一讲 Objective-C开发入门
- C语言入门第一讲(Basic基础)
- C语言学习之关键字第一讲
- C语言学习之数组第一讲
- C语言学习之指针第一讲
- 从C到C++(上)
- 从C到C++(下)
- 【C++】从c到c++
- 从c到VF
- centos上yum命令不能用了解决方案
- PHP 升级到5.5后MySQL的代替法
- 微信小程序调用函数
- html表单元素的colspan和rowspan
- CentOS 7 配置本地源
- 第一讲:从c到c++
- 如何实现微信小程序与.net core应用服务端的无状态身份验证
- 欢迎使用CSDN-markdown编辑器
- javascript中call()的用法举例
- jupyter notebook 架设在服务器 本地用浏览器访问服务器上的jupyter
- 使用java语言爬取网络图片并下载到本地
- 类型转换小结
- 设置tableview 的section不停靠
- 一篇讲透Kubernetes与GlusterFS之间的爱恨情仇