第七、八章 类和对象
来源:互联网 发布:串口调试助手接收数据 编辑:程序博客网 时间:2024/05/18 19:22
第七章 类和对象介绍
1. 函数名以小写字母开头,之后单词大写字母开头;用户定义类以大写字母开头,之后也是大写字母开头
2. 接口与实现的分离
3. 局部变量声明在函数体中,只作用于当前函数,数据成员对类的所有成员函数均可访问
4. String类的实现
简单实现-参考
http://rsljdkt.iteye.com/blog/770072
第八章 类的深入剖析
1.等价于#program once
#ifndef TIME_H //如果没有定义
#define TIME_H
……
#endif
2.析构函数-在系统回收对象的内存之前执行扫尾工作,使得内存可以重新用于存储新的对象,并不释放对象的存储空间
3.Time类-一个最基本的类
1.h
#ifndef TIME_H#define TIME_Hclass Time{public:Time(int =0,int =0,int =0);//生命Time构造函数void setTime(int ,int ,int);void setHour(int);void setMinute(int);void setSecond(int);int getHour();int getMinute();int getSecond();void printStandard();private:int hour;int minute;int second;};#endif
1.cpp
#include <iostream>#include "1.h"using namespace std;Time::Time(int hr,int min,int sec) { setTime(hr,min,sec); } void Time::setTime(int h,int m,int s) { setHour(h); setMinute(m); setSecond(s); } void Time::setHour(int h) { hour=(h>=0&&h<24)?h:0;//初始化 } void Time::setMinute(int m) { minute=(m>=0&&m<60)?m:0; } void Time::setSecond(int s) { second=(s>=0&&s<60)?s:0; } int Time::getHour() { return hour; } int Time::getMinute() { return minute; } int Time::getSecond() { return second; } void Time::printStandard() { cout<<getHour()<<": "<<getMinute()<<": "<<getSecond()<<endl; }
2.cpp
#include <iostream>#include "1.h"using namespace std;void main(){Time t1;Time t2(2);t1.printStandard();t2.printStandard();}
3.友元函数和类friend
在类的作用域以外定义却具有访问类的非public成员的权限,单独的类/函数都可以被声明为另一个类的友元。在类的定义中函数原型前+friend
#include <iostream>using namespace std;class Count{friend void setX(Count &,int);//友元声明public:Count():x(0){}void print() const{cout<<x<<endl;}private:int x;};//在类的作用域以外定义void setX(Count &c,int val){c.x=val;}void main(){Count counter;counter.print();//0setX(counter,8);counter.print();//8}
4.this指针-访问自己的地址
this->x == (*this).x
5.使用new,delete对内存进行动态管理
Time *timePtr;
timePtr=new Time;
……
delete timePtr;
int *array=new int[10];//可在类的构造函数中
……
delete [] array;//可在类的析构函数中
6.static 类成员
只在类的作用域内起作用,类的private、protected的static成员通常通过类的public成员函数或者类的友元访问
当没有任何类的对象存在时,类的static成员依然存在
7.容器类container和迭代器iterator
参考详细介绍http://blog.csdn.net/nancy_m/article/details/8073013
- 第七、八章 类和对象
- 第七章,类和对象
- 第七章 JAVA中的类和对象
- 第七、八章
- 第七、八、九章
- 第七、八章抽象
- JAVA学习笔记——第七章 类和对象
- Java从入门到精通第七章类和对象
- PHP第七课 类和对象
- 第七节:类和对象(二)
- 第七八章 ping&traceroyte
- Java语言规范第七/八章-包/类
- C#学习之路,学习笔记 第七章 面向对象编程:类和对象(一)
- 第七、八讲 for 和 while
- 八、c++的类和对象
- 八. 对象和方法
- delphi完美经典--第七、八章
- 《汇编语言(王爽)》第七、八章【总结】
- 实现几个连续输入的textfield
- 九度OJ 题目1064:反序数
- 什么是java web项目的根路径
- openvpn内置包过滤的使用
- MySQL下载安装、配置与使用(win7x64/32)
- 第七、八章 类和对象
- 操作系统页面置换算法
- 浅谈abstract和interface
- 在Spring3中使用注解(@Scheduled)创建计划任务
- Linux网络编程下send到一个disconnected socket上
- 雅各比迭代法
- POJ2528,线段树+离散化
- ajax常见错误和使用总结
- android学习笔记1 - 搭建android开发环境