- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
封装 继承 多态
封装,数据部分, class name
继承 , 在实现程序时, 可以像生活中儿子继承父母遗产一
样,子类将父类中的属性 ( 类中的数据成员 ) 和行为 ( 类中的成员函数 ) 继承,从而实现父类所有内容为子类所用的功能 ( 代码重用 )
多态 , 在实现程序时,可以将父类的行为 ( 类中的成员函数 ) 再次定义从而实现新的行为 ( 重载,重写 ) ,使程序的
执行结果多样化
其实类的话和结构体的字节大小算法不一样,不管它的大小
Public (本类,子类,其他类) --- 》 protected (本类,
子类) --- 》 private (本类)。
Private 私有的 只能在一个地方(本类)访问。
类的初始化
在类里面,必须创建对象之后才能初始化,不能在类里面
直接初始化。一般数据类型不能在类外面初始化,但是静
态的( static )类型可以再类的外面进行初始化 -- (有且
只有 static 在类外可以初始化,因为静态的是在全局数
据区存放的,在编译的时候就给它分配内存了) 。
类里面的数据可以是任意的,但是不能有本类的对象(因为不知道怎么分配内存) ,本类的指针是可以的,
静态函数当中不能出现 this ,this 是在运行的时候才有。
构造函数
构造函数的作用就是对类里面的数据进行初始化
构造函数是自动调用
构造函数不能写返回值,
最好写一个自己的默认构造函数以防止出现错误。
Malloc 只能分配堆内存, new 不仅能分配内存调用有参数的
构造函数,对类的数据进行初始化。
构造函数可以用 ( 初始化列表 )
student():count(0);
student ( char *name , Int age , int c ) :count(c) ;
对常量 count 进行初始化。
引用也必须在初始化列表当中进行初始化。
初始化列表的顺序是按照定义的顺序,并且是包含的小类先
执行 , 它比构造函数还先执行。
当类内有成员为指针的时候 , 不能简单的复制 , 要把堆内存
分配 , 然后再把值拷过来 ,
析构函数 ()
为了避免内存泄露用到析构函数 , 析构顺序与构造函数的顺
序正好相反 !
迭代器
String-----str.reserve(20), 只改变容量 str.capacity
String-----str.resize(30), 改 变 实 际 的 字 节 数
str.size,str.length, 当然还有 str.capacity
Str.append 连接,
str.assign 拷贝,
str.at ( 0)修改第一个字符,
str.empty ()判断是空返回 1;
pare() 比较字符串(相等返回 0)
str.substr(0,5)截取字符串;
str.swap(str2) 交换;
str.find; 查找
str.find_first_of;---str.find_first_not_of;
str.replace(0,5,”hello ”);
str.insert();字符串插入
string 迭代器
相当于指针
返回一个对象的时候 , 调用拷贝函数
静态数据成员
不管有多少个对象 , 静态数据成员只有一个内存 , 它会随着对象的改变而直接改变 ;( 可以用它来记录有多少个对象 )
**1. 静 成 函数不能 用非静 成 函数 , 但是可以 用
静 成 函数 ( 因 静 成 函数是在 的 候分配内存 ,
一般函数是在运行的 候才分配内存 ). 静 只能 静
的 !
**2. 一般函数可以 用静 函数 .
嵌套类 ( 外部 内部 )
内部 不可以 外部 的一般数据 , 只能 静 数据 ,
但是外部 可以 内部 的任何 型数据 ( 是由于内部
和外部 是两个 , 的 候先 内部 再 外部
的 ).
局部类
局部 里面不能有静 的数据成 和静 的成 函数 ;
友元
友元啊,在定 里面 函数前面加上 friend 即可,可以将一个 定 另一个 的友元 ??
指向 中数据成 的指 ,注意声明的 候要加 域,初始化也要注意,( int student::*p;
P = &student::age
Stu.*p = 10 )
例子如下:
#include <iostream>
#include <string>
using namespace std ;
class student
{
public :
int age;
student (){}
int fun( int
{
age)
this -> age = age;
return this -> age;
您可能关注的文档
- C语言期末考试试卷附参考答案.docx
- C语言期末考试试题南昌航空大学.docx
- c语言机试经典编程题.docx
- C语言的常用库函数使用方法分析及用途解析.docx
- C语言程序设计郑莉课后习题答案.docx
- C语言考试题库之判断题.docx
- C语言课程设计学生成绩管理系统.docx
- C课程设计模拟电信计费解读.docx
- C超经典练习题配答案.docx
- C面向对象程序设计模拟试题.docx
- 高等教育论文:诗词写作课程与大学生古典审美素养的提升.docx
- “双减”政策下高中美术课对学生学业情绪的积极影响.docx
- 2024年高考语文二轮复习:信息类文本第4题复习指导(含练习题及答案).docx
- 2024年高考语文专题复习:诗歌鉴赏的答题技巧 课件68张.pptx
- 2024年高考语文专题复习:信息类文本阅读 课件78张.pptx
- 2024年高考语文专题复习:文言文阅读 课件72张.pptx
- 2024届高考政治一轮复习统编版必修二《经济与社会》重点知识复习提纲(实用,必备!).docx
- 2024届高考地理三轮复习:地理大题必背考点提纲(实用,必备!).docx
- 2024届高考政治一轮复习统编版必修一《中国特色社会主义》复习提纲(实用,必备!).docx
- 2024年高考语文二轮复习:信息类文本阅读整体指导(含练习题及答案).docx
文档评论(0)