第二章 基本语言
第一节 语言特性,工程构成,可移植性
1. 语言特性:过程式,对象式程序设计
- 面向过程式的程序设计(过程式的程序设计:c语言程序设计):从上到下,逐步求精,按顺序的一步一步把问题解决
结构: 学生, 名字, 性别, 成绩
要使用结构,定义一个属于该结构的变量
- 基于对象的程序设计和面向对象的程序设计
c++中,我们把结构叫做类, 结构 == 类
c++中,当我们使用到类的话,就不叫定义结构变量,而是叫定义对象, 结构变量 == 对象
在类中可以定义成员变量,还可以定义一些属于该类的函数(方法),实现一些功能
把功能包在类中,需要的时候通过定义一个对象的方式来调用的程序,
这种程序的书写方式,就叫基于对象的程序设计继承性, 多态性, 升华了基于对象的程序设计,就叫面向对象的程序设计
面向对象程序设计的优点: a) 易于维护, b) 易于扩展 c) 模块化(通过设置各种访问级别,限制访问,保护了数据)
structdagongzai{//这里有一些方法(该类的函数)voidqichuang();voidchuangyifu();...// 提供对外的接口,供他人调用,以应付应急事件voidtufashijian(inteventtype);//事件的函数}structdagongzaimyclass;//对象myclass.qichuang();// 新打工仔职业, tuixiaoyuan类, 继承自dagongzai类// 继承dagongzai类的各种方法,又可以增加自己的新方法,在c++中就称为继承性//多态性//父类中和子类中有同名函数,到底是调父类中的函数还是子类中的函数2. 编写一个最简单的c++程序
vs中一个解决方案中可以包含若干个项目,LZ在Linux下使用的是clion,所以和原课程不是很一致
main()函数是整个程序的入口函数,系统就是从该函数开始执行
#include <iostream> //main()中返回值一般表示状态,返回0就表示成功,非0一般表示有些错误 int main() { std::cout << "Hello, World!" << std::endl; return 0; }- 附上CMakeLists.txt
cmake_minimum_required(VERSION 3.14) project(lession_part_two) set(CMAKE_CXX_STANDARD 11) add_executable(lession_part_two main.cpp)3. 工程文件构成
规律
一个项目中包含多个.cpp(源文件)和多个.h(头文件)
.c, .cpp, .cc, .cxx源文件后缀, GNU, .m, .mm (mac), 头文件以.h居多, .hpp(把头文件和实现放在一个文件中去,减少编译次数)
#include <stdio.h> // c语言代码 #include <cstdio> // c++语言4. 可移植性问题
编译型语言: 需要编译过程,编译成二进制文件(可执行文件),执行速度更快,c++
解释性语言: 不进行预先编译,先解释,再运行, Lua
windows下的可执行文件是不能在Linux下运行,但是如果是源代码经过重新编译,是可以在Linux下运行的
所以可移植性指的是源代码的可移植性