2.1 简单的c++程序

2.1.1 c++ hello world

请打开一下示例代码:

#include<iostream>
//using namespace std;int main(){cout << "hello world" << endl;return EXIT_SUCCESS;
}

分析:

n #include<iostream>;预编译指令,引入头文件iostream.

n using namespace std; 使用标准命名空间

n cout << “helloworld”<< endl; 和printf功能一样,输出字符串”hello wrold”

问题1:c++头文件为什么没有.h?

在c语言中头文件使用扩展名.h,将其作为一种通过名称标识文件类型的简单方式。但是c++得用法改变了,c++头文件没有扩展名。但是有些c语言的头文件被转换为c++的头文件,这些文件被重新命名,丢掉了扩展名.h(使之成为c++风格头文件),并在文件名称前面加上前缀c(表明来自c语言)。例如c++版本的math.h为cmath.

由于C使用不同的扩展名来表示不同文件类型,因此用一些特殊的扩展名(如hpp或hxx)表示c++的头文件也是可以的,ANSI/IOS标准委员会也认为是可以的,但是关键问题是用哪个比较好,最后一致同意不适用任何扩展名。

头文件类型

约定

示例

说明

c++旧式风格

以.h结尾

iostream.h

c++程序可用

c旧式风格

以.h结尾

math.h

c/c++程序可用

c++新式风格

无扩展名

iostream

c++程序可用,使用namespace std

转换后的c

加上前缀c,无扩展名

cmath

c++程序可用,可使用非c特性,如namespace std

问题2:using namespace std 是什么?

namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。

问题3:cout 、endl 是什么?

cout是c++中的标准输出流,endl是输出换行并刷新缓冲区。

2.1.2 面向对象三大特性

封装

把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

类将成员变量和成员函数封装在类的内部,根据需要设置访问权限,通过成员函数管理内部状态。

继承

继承所表达的是类之间相关的关系,这种关系使得对象可以继承另外一类对象的特征和能力。

继承的作用:避免公用代码的重复开发,减少代码和数据冗余。

多态

多态性可以简单地概括为“一个接口,多种方法”,字面意思为多种形态。程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。

C++基础(二)-hello world相关推荐

  1. 蓝鸥Unity开发基础二——课时20 接口

    蓝鸥Unity开发基础二--课时20 接口 一.接口 使用interface关键字定义接口 接口定义一组成员单不直接实现它们 二.实现接口 实现接口的任何类都必须实现其所有的成员方法 接口不能直接实例 ...

  2. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  3. Bootstrap基础二十七 多媒体对象(Media Object)

    Bootstrap<基础二十七> 多媒体对象(Media Object) 原文:Bootstrap<基础二十七> 多媒体对象(Media Object) Bootstrap 中 ...

  4. Web开发(一)·期末不挂之第三章·HTML基础二(html实现表格和表单)

    HTML基础二 一. 表格✪✪✪ 二.表单 插入表单 输入标签✪✪ 多行文本域 下拉菜单 三.其他 label标签 内联框架 一. 表格✪✪✪ 插入表格: < table>< /ta ...

  5. shell基础二:查找技巧,find及xargs的使用

    2019独角兽企业重金招聘Python工程师标准>>> 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的 (在有些操作系统中只允许- e ...

  6. 自考计算机软件基础交作业,全国2009年7月自考计算机软件基础(二)试题及答案...

    全国2009年7月自考计算机软件基础(二)试题及答案 课程代码:02365 一.单项选择题(本大题共20小题,每小题1分,共20分) 1.下列选项中属于事务处理软件的是( A ) A.工资管理软件 B ...

  7. python路由编程_Python Django基础二之URL路由系统

    MVC和MTV框架 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务 ...

  8. [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了什么是GO语言 ...

  9. MariaDB基础(二)

    MariaDB基础(二) 介绍关于MariaDB的如下知识点: 1. 查询缓存 2. 索引 3. EXPLAIN 1.查询缓存: 1)什么是缓存? 缓存就是数据交换的缓冲区,即Cache,存放在内存中 ...

  10. 一年级前一学期计算机应用题,一年级计算机应用基础(二)

    一年级计算机应用基础(二) (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机应用基础试卷(二)满分100分:时间60分钟;一. 填 ...

最新文章

  1. linux驱动:TI+DM8127+GPIO(二)之驱动
  2. android逆向分析概述_Android存储概述
  3. pandas使用groupby.first函数、groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异)
  4. android 渠道包 占位符配置,Android打包
  5. c/c++ 获取文件夹或目录下的文件
  6. 为什么要重写hashcode()方法
  7. 开源websocket
  8. Android Studio --- [学习笔记]RadioButton、CheckBox、ImageView、ListView、TCP的三次握手
  9. java btrace_BTrace for Java应用程序简介
  10. 运行shell:windows命令,及显示桌面.scf的问题
  11. LeetCode 522. 最长特殊序列 II
  12. 如何在没有域的环境中搭建AlwaysOn(一)
  13. jQuery源码高清视频教程
  14. 如何请求您的Apple ID帐户数据的副本
  15. 简单两个矩阵如何用计算机运算,矩阵运算-如何用卡西欧fx-82es计算器计算矩阵和 – 手机爱问...
  16. Freebase中的基本概念
  17. MNE从头创建raw结构
  18. outlook 签名_如何在Outlook 2013中创建新签名
  19. 美女--男人的Vitamin C
  20. NAS不够快?那就上SSD享受如火箭般的体验吧!

热门文章

  1. 2019.7.14 并查集P1197 [JSOI2008]星球大战 说能过那是假的(动态规划) cometoj #c6 双倍快乐
  2. 「BalticOI 2014 Day 1」三个朋友(进制hash)
  3. 请查收!顶会AAAI 2020录用论文之知识图谱篇
  4. 通辽市视频信息共享平台助力智慧城市建设
  5. 问题解决:Weka打开csv文件出错
  6. 第八次作业—— 缺陷管理
  7. OpenCV-Python相机标定:Camera Calibration
  8. 如何用Python打开realsenseD435相机并获取相机参数
  9. 电子信息工程水声考研去向_电子信息工程全日制硕士研究生
  10. Altium Designer 从原理图更新到PCB图时生成room框 底框,设置默认删除