C++_01_入门

一、类的定义

Person.h类声明

Person.cpp类实现

main.cpp主函数

二、命名空间的使用

Xcode格式化代码:快捷键ctrl + i

主函数:

三、类的继承

父类Person

子类Girl

Java PHP中使用关键定extends

c++中
冒号表示继承,和Objective-C
一样

冒号后面的public表示,继承过来的东东
公开

主函数main.cpp

四、构造和析构方法

类Object

main.cpp主函数

五、执行父类的【构造方法

父类Person

子类Girl

// 调用父类
的构造方法 cpp是通过冒号实现

// Java和Objective-C中
是通过 super关键字

// PHP使用parent关键字

main.cpp主函数

六、调用父类的方法

C++由于没有super关键字,因此,通过【父类名::方法()】调用某个父类的方法

C++还可以指定 调用哪一级父类的方法

// 由于c++没有super关键字,所以调用父类的方法:用的是【父类名::方法()】

// 好处就是,不管有多少重继承,都可以通过
父类名 去指定调用某一级的父类 的方法;

因此,比Java中的super关键字要强大

父类Person

子类Girl

七、实函数、虚函数、纯虚函数、函数重载

C++中,由于父类和子类都实现了cry方法【实函数】,

因此,只会调用父类的cry方法

如果,想要实现Java中的多态效果,

那么必须把【父类和子类】的cry方法
全部用virtual关键字
声明为【虚函数】

另外,C++纯虚函数,类似Java中的抽象方法,由不同的子类去实现

父类Person

子类 Girl

main.cpp主函数

当父类和子类 都实现了【实函数cry】时的情况:直接调用父类的cry

当父类和子类的cryy方法都用【virtual】关键字声明时,

与Java多态一样,调用子类的方法

纯虚方法

// 纯虚函数,类似Java中的抽象方法,由不同的子类去实现

virtual void hobby()=0;

八、C++中的类,如果所有方法全是纯虚函数,那么就是纯虚类;

相当于Java中的接口;由于C++本身支持多继承,因此,在使用时,尽量按照Java中的【单继承实现多接口原则】,将其他父类设计成【纯虚类】

九、函数重载,即名称一样,参数列表不同

时间: 2024-08-11 03:30:59

C++_01_入门的相关文章

GEF入门实例_总结_01_教程、源码、开发环境准备

一.前言 最近在学Eclipse插件开发,发现了一个比较好的GEF入门教程,并且按照教程上的操作,一步步实现了一个入门Demo,在此感谢作者的贡献. 好记性不如烂笔头,故决定总结一下这段时间的学习心得. 二.PDF教程与源码 1.源码地址 https://github.com/shirayner/gef.tutorial.step 2.PDF教程 打开1中链接,PDF教程在doc目录下 三.准备开发环境 1.JDK1.8 我使用的是JDK1.8,最好保持一致,不过1.6以上版应该都没有问题. 2

大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作

一 概述1.1 什么是搜索?1.2 如果用数据库做搜索会怎么样?1.3 什么是全文检索和 Lucene?1.4 什么是 Elasticsearch?1.5 Elasticsearch 的适用场景1.6 Elasticsearch 的特点1.7 Elasticsearch 的核心概念1.7.1 近实时1.7.2 Cluster(集群)1.7.3 Node(节点)1.7.4 Index(索引 --> 数据库)1.7.5 Type(类型 --> 表)1.7.6 Document(文档 -->

工控随笔_C#连接PLC_之_C#入门_01_配置学习环境

最近在做一个东西,需要用到通用开发语言开发一个软件来读取PLC的内容,这方面的难点在于解析PLC利用 以太网通讯的通讯协议,而一般的PLC厂商对自己的协议是封闭的,对一般的开发者是不开放的,虽然可以通过Wireshark 进行解析,但是工作量很大,且如果对Wireshark不熟悉基本也是无解,很难解析出来. 网上有部分用C#开发的开源库,但是自己对C#语言不懂,所以也就没法学习和应用了.因此我在这里开始了C#的 从零开始学习之旅(我的从零开始是指对C#一无所知,如果你要和我一起开启这趟旅程,应该

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

笔记:Spring Cloud Zuul 快速入门

Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了所有其他微服务的实例信息,这样的设计非常巧妙的将服务治理体系中维护的实例信息利用起来,使得维护服务实例的工作交给了服务治理框架自动完成,而对路由规则的维护,默认会将通过以服务名作为 ContextPath 的方式来创建路由映射,也可以做一些特别的配置,对于签名校验.登录校验等在微服务架构中的冗余问题

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

JAVA通信系列二:mina入门总结

一.学习资料 Mina入门实例(一) http://www.cnblogs.com/juepei/p/3939119.html Mina入门教程(二)----Spring4 集成Mina http://www.cnblogs.com/juepei/p/3940396.html Apache Mina 入门实例--创建一个MINA时间服务http://loftor.com/archives/apache-mina-quick-start-guide.html MINA2.0用户手册中文版--系列文

Storm入门(四)WordCount示例

Storm API文档网址如下: http://storm.apache.org/releases/current/javadocs/index.html 一.关联代码 使用maven,代码如下. pom.xml  和Storm入门(三)HelloWorld示例相同 RandomSentenceSpout.java /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor lice

浅谈Ubuntu PowerShell——小白入门教程

早在去年八月份PowerShell就开始开源跨平台了,但是一直没有去尝试,叫做PowerShell Core. 这里打算简单介绍一下如何安装和简单使用,为还不知道PowerShell Core on Ubuntu的同学们提供一点小小的入门帮助,谢谢大家支持~ PowerShell Core是由Microsoft开发的运行在.Net Core上的开源跨平台的任务自动化和配置管理系统. 1.   在Ubuntu 16.04上安装PowerShell Core a)         导入公共存储库GP