public:子类继承,子类亦可以访问。本类函数可以访问,本类对象可以访问。

private:子类继承,子类不可访问。本类(所有)函数以及友员函数可以访问,本类对象不可以访问。

protect:子类继承,子类可以访问。本类函数可以访问,本类对象不可以访问。

friend:子类不继承,子类不可以访问。本类函数可以使用friend函数。友员函数定义也不一样,算外部函数。

另外构造函数、静态成员(函数\变量)均不继承。

总的说,父类有的(包括public、private,protect,除这些以外不算)我子类通通有,只是能不能用的问题。



虚函数(实现多态)

例子说明:

父类 a=new 子类;

a.foo();执行子类的foo

父类 b=new 父类;

b.foo();执行父类foo

虚函数在父类定义后,子类也必须有这个虚函数的定义。

一个函数在基类申明一个virtual,那么在所有的派生类都是是virtual的







纯虚函数(声明时分号前有个“=0”),当该类中有任何一个纯虚函数时,该类为抽象类。在申明纯虚函数类中不能实现。该函数抽象类不能实例化,所以抽象类只能以指针方式被应用。





静态成员使用static 申明,在内存中永远只有一份实例,静态成员变量可以被成员函数访问,但静态成员函数只能访问静态成员变量

收藏于 2011-10-07
来自于百度空间

C++ 面向对象基本释义的更多相关文章

  1. 三言两语之js面向对象初探1

    http://www.cnblogs.com/54td/p/5580994.htm    先是有了这个比较简短但是内容比较丰盈的上篇,现在时间比较充沛,所以详细写来.搞前端的同学经常被其他程序员bs, ...

  2. 面向对象的SOLID原则白话篇

    面向对象的SOLID原则 简介 缩写 全称 中文 S The Single Responsibility Principle 单一责任原则 O The Open Closed Principle 开放 ...

  3. python3 速查参考- python基础 8 -> 面向对象基础:类的创建与基础使用,类属性,property、类方法、静态方法、常用知识点概念(封装、继承等等见下一章)

    基础概念 1.速查笔记: #-- 最普通的类 class C1(C2, C3): spam = 42 # 数据属性 def __init__(self, name): # 函数属性:构造函数 self ...

  4. [Python3] 023 面向对象 第三弹

    目录 7. 类相关函数 8. 类的成员描述符(属性) 9. 类的内置属性 10. 类的常用魔术方法 10.1 操作类 10.2 描述符 10.3 属性操作 10.4 运算分类相关魔术方法 接上一篇 [ ...

  5. [Python3] 022 面向对象 第二弹

    目录 6. 面向对象的三大特性 6.1 封装 6.1.1 私有 private 6.1.2 受保护 protected 6.1.3 公开 public 6.2 继承 6.2.1 继承的概念与作用 6. ...

  6. [Python3] 021 面向对象 第一弹

    目录 1. 面向对象概述 1.1 OOP 思想 1.2 几个名词 1.3 类与对象 2. 类的基本实现 2.1 类的命名 2.2 如何声明一个类 2.3 如何实例化一个类 2.4 如何访问对象成员 2 ...

  7. python面向对象07/异常处理

    python面向对象07/异常处理 目录 python面向对象07/异常处理 1. 异常错误分类 2. 什么是异常? 3. 异常处理 4. 为什么要有异常处理 5. 异常处理的两种方式 1.if判断 ...

  8. python 面向对象专题(七):异常处理

    目录 python面向对象07/异常处理 1. 异常错误分类 2. 什么是异常? 3. 异常处理 4. 为什么要有异常处理 5. 异常处理的两种方式 1.if判断 2.try 6. 常见异常种类 1. ...

  9. 第8.1节 Python类的构造方法__init__深入剖析:语法释义

    一.    引言 凡是面向对象设计的语言,在类实例化时都有构造方法,很多语言的构造方法名与类名一致,Python中类的构造方法比较特殊,必须是__init__特殊方法. 二.    语法释义 1.   ...

随机推荐

  1. mysql各种连接总结

    术语解释: 1.内连接: 只连接匹配的行 2.左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行 3.右外连接: 包含右边表的全部行(不管左边的表中是否存 ...

  2. 25. oracle密码过期解决

    解决方法: 1.连接到oracle会自动提示修改数据库密码; 2.如果要设置为数据库密码不过期,可以直接修改: 查看:select * from dba_profiles where profile= ...

  3. [ilink32 Error] Error: Unresolved external 'SendARP'

    [ilink32 Error] Error: Unresolved external 'SendARP' referenced from E:\APPOBJ\KSRGETMAC.OBJ #pragma ...

  4. FDConnection

    FDConnection 利用FDConnection获取信息,不用放query控件也可以.   FDConnection1.GetTableNames('', '', '', List);   FD ...

  5. framework4.0 IIS配置支持ashx

    framework4.0 https://www.microsoft.com/zh-cn/download/details.aspx?id=17718 IIS添加对ashx文件的支持 http://w ...

  6. 内容方框 fieldset

    Title 登录 用户名 密码 <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  7. 6 unit3-文件操作&函数 review

    文件处理相关 1.编码问题 (1)请说明python2 与python3中的默认编码是什么? py2默认ASCII码,py3默认的utf8 (2)为什么会出现中文乱码?你能列举出现乱码的情况有哪几种? ...

  8. mysql查看进程

    select * from information_schema.processlist 查询所有连接到数据库的进程信息.

  9. 第二次安装docker时,报Transaction check error的解决方法

    如果在yum安装软件的时候,出现了Transaction check error:这种情况,说明rpm软件包出现了冲突,解决方法是: vi /etc/yum.repos.d/epel.repo 将en ...

  10. cvc-complex-type.2.3: Element 'beans' cannot have character [children]

    当启动spring的项目时,有时候会抛如下异常: Line 33 in XML document from ServletContext resource [/WEB-INF/backend-serv ...