C++之再续前缘(二)——类和对象(上)
1.类的构成:数据和函数
public:可以由在类外由类的对象访问
private:只能由类内的成员函数访问
protected:可以由本类的成员函数访问,也可以由本类的派生类的成员函数访问
访问权限关键字:private为默认的关键字
!!不能在类声明中给数据成员赋初值,也就是初始化,只有在类的对象定义后才能给数据成员赋初值
2.成员函数
根据访问权限分为三种成员函数,其中,私有成员函数只能被本类中的其他成员函数访问,公有成员函数在类外可以由该类的对象访问
另外还可以被分为普通的成员函数和内联成员函数
内联成员函数又分为隐式声明和显式声明
这个详细的就不敲上来了,谭浩强52页
3.对象的定义和使用
1.直接定义对象
2.定义一个指针对象,该对象没有名字,称为无名对象,但是该对象有地址,这个地址存放于指针变量之中
4.类的作用域和类的访问属性
对象赋值语句,C++两个同类型的对象之间的赋值是通过运算符的重载实现的
仅仅是对对象中的数据成员进行赋值,不对成员函数赋值
当类中存在指针时,使用=进行赋值可能会产生错误
5.构造函数
作用:因为类本身在定义的时候不允许进行赋值初始化操作,所以就产生了专门用来进行初始化赋值的函数,构造函数
特点:
1.无返回值
2.和类同名
3.允许自定义参数
4.特殊的成员函数
5.在建立对象时自动执行
6.初始化成员列表(依托于构造函数)
主要用来对那些不允许用赋值语句进行赋值的类型成员进行初始化
例如,引用和const修饰符修饰的数据成员
7.带默认参数的构造函数
巴拉巴拉不需要解释了
C++之再续前缘(二)——类和对象(上)的更多相关文章
- Effective JavaScript Item 51 在类数组对象上重用数组方法
Array.prototype对象上的标准方法被设计为也能够在其他对象上重用 - 即使不是继承自Array的对象. 因此,在JavaScript中存折一些类数组对象(Array-like Object ...
- Java复习(二)类与对象的基本概念
2.1面向对象的程序设计方法概述 对象 程序中: 一切皆是对象 都具有标识,属性和行为 通过一个或多个变量来保存其状态 通过方法实现他的行为 类 将属性及行为相同或相似的对象归为一类 类可以看成是对象 ...
- Java基础 之二 类和对象
1.基础概念 1) 概念 简单来说,类是具有相同特征事物的抽象,比如有轮子的都可以抽象为车:对象则可以看做类的具体实例,比如创建一个法拉利的车,就是车这个类的实例. 抽象.封装.继承.多态是类的四个特 ...
- [Effective JavaScript 笔记]第51条:在类数组对象上复用通用的数组方法
前面有几条都讲过关于Array.prototype的标准方法.这些标准方法被设计成其他对象可复用的方法,即使这些对象并没有继承Array. arguments对象 在22条中提到的函数argument ...
- Python 类和对象-上
#类和对象 class Human: #属性 -> 成员属性(变量) ear = 2 mouth = 1 sex = 'man' age = 28 name = 'zhangwang' marr ...
- python 类和对象上
面向对象 Object Oriented 面向对象的学习: 面向对象的语法(简单,记忆就可以搞定) 面向对象的思想(稍难,需要一定的理解) 面向过程和面向对象的区别 面向过程开发,以函数作为基本结构使 ...
- Objective-C 笔记二 类、对象和方法
对象就是一个物件.面向对象的程序设计可以看成一个物件和你想对它做的事情.这与C语言不同,C语言通常称为过程性语言.在C语言中,通常是先考虑要做什么,然后才关注对象,这几乎总是与面相对象的思考过程相反. ...
- [python]-类与对象-上
[类]是一个函数包.类中可以放置函数和变量,然后类中的函数可以很方便的使用类中的变量 1.类的定义 2.类中方法的调用 在类中被定义的函数被称为类的[方法],描述的是这个类能做什么.我们使用类名.函数 ...
- Java反射机制demo(二)—通过Class实例化任意类的对象
Java反射机制demo(二)—通过Class实例化任意类的对象 上一章节中,实例化了Class类对象的实例,这个部分的demo展示了如何使用Class对象的实例去获得其他类的对象的实例. 任意一个类 ...
- JAVA:类,对象,成员属性,成员方法,构造方法,类变量,类方法<2>
一.类的定义 一个全面的类定义是比较复杂的, 定义如下:
随机推荐
- Oracle日期格式转换
本文主要介绍Oracle中的日期转换. 1. 日期转化为字符串 (以2016年10月20日为例) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') st ...
- https网站跳转到http网站时,referrer获取不到的问题
工作中,有一个活动列表页A,要链接到具体的活动详情页B,A页面放在https网站上,B页面放在http网站上,从https跳转到http网站时,为了用户隐私安全信息,浏览器默认不传送referrer ...
- HTML 学习笔记 CSS样式(外边框 外边框合并)
CSS外边距 围绕在元素边框的空白区域就是外边距 设置外边距会在元素外创建额外的空白 设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位.百分数值甚至负值. CSS ma ...
- redis采用tcmalloc导致无法释放内存的问题
from:http://wangneng-168.iteye.com/blog/2100379 redis使用tcmalloc管理内存,当删除了redis的key后,通过redis的info命令查看内 ...
- C语言操作内存
炒了个栗子 #include <stdio.h> #define N1 (5) #define N2 (7) #define N3 (3) int main(){ int *ip; int ...
- CentOS 6.4 下安装vsftpd
概述: vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个. 本文介绍了在CentOS 6.4下安装vsftpd.配置虚拟用户登录FTP的过程. 正文: 一:安装vsftp ...
- Centos5.8 安装SVN并配置HTTP访问
安装 svn sudo yum install subversion 测试 svn --version 安装 httpd 的 svn 模块 sudo yum install mod_dav_svn 前 ...
- .net AES加密解密
using System; using System.Collections.Generic; using System.Text; using System.Secur ...
- SQL SERVER 系统库查询
本文内容主要来自网络,如有错误请路过的大牛指点迷津. 1.sqlserver 数据库最大并发连接数 sqlserver的最大连接数虽然说是不限制,但实际的限制数量是32767,如果需要超出这个数量,一 ...
- uploadify firefox 401
uploadify在firefox下上传会报401错误:这是因为java的框架把其拦截了 拦截的原因是,firefox下的flash在请求和发送请求的时候不会携带cookie和session过去,造成 ...