C++ 学习小结

//c++中动态内存分配用new,C中用malloc
//内联函数--
//函数重载 名字相同,参数个数或者参数类型不同,定义函数时最右边参数可以缺省
//缺省参数提高程序的可扩充性

//结构化程序设计没有封装和隐藏(接口)
//面向对象程序设计 函数可重用性------程序规模大的时候
//面向对象程序设计 = 类+类+类++++类
//四大基本特点: 抽象 封装 继承 多态
//面向对象的程序设计模式
//
//成员变量和成员函数
//对象占用的内存空间和struct一样的。
//对象值包含成员变量,成员函数不占用对象内存空间
//没有数是公有的,就是私有的

//构造函数,名字与类名相同,可以有参数,不能有返回值
//构造函数给对象进行初始化,不写就是默认的无参数的构造函数,不做任何操作
//有对象就有构造函数,
//一个类可以有多个构造函数
//有构造函数,对象就要初始化

//复制构造函数,一个类有一个复制构造函数
//复制构造函数作用:1,一个对象初始化同类的另一个对象、
//2、一个函数参数是对象,就是用的复制构造函数
//3,、返回值是对象时,用的复制构造函数

//一个类可以有多个构造函数,但是只有一个析构函数
//析构函数没有参数,没有返回值

//静态成员函数中不能使用this指针,静态成员函数的参数个数没有多一个!
//静态成员函数没有作用于哪一个对象,放在对象内存外部
//静态成员变量是每一个对象共享的,sizeof不会计算静态成员变量
//静态成员不需要通过对象就可以进行访问
//静态成员变量和静态成员函数本质是全局变量和全局函数
//静态成员变量要初始化或者申明
//静态成员函数中不能访问费静态成员变量及函数--因为静态成员函数不属于哪一个对象

//先执行成员对象的构造函数,然后执行封闭类的构造函数
//先构造的就后析构,先初始化的后消亡
//先执行封闭类的析构函数,后执行成员对象的析构函数

//常量对象 加const,可以执行常量成员函数,因为其不会修改成员值
//常量成员函数 不能修成员函数的值(除了static变量),也不能调用同类的非常量成员函数(除了static函数外)
//两个成员函数,名字和参数表都一样,但是一个加了const,这个算是函数重载,而不是重复定义
//不能通过常引用修改其引用的变量---引用一般加const,防止数据被修改

//友员:两种 友员函数 友员类
//构造函数和析构函数也可以声明为友员函数
//友员类之间的关系不能传递,不能继承

//派生类 --
//派生类内存空间包含基类对象内存空间,基类内存在前,派生在后
//派生类覆盖基类中相同的函数,可以调用基类的这个函数

//继承 目的 :代码重用
//类 与 类 的关系: 继承 或者 复合
//不要定义同名的成员变量,但是可以同名的成员函数

//派生类初始化基类对象-初始化列表

//public继承的复制规则

//多态----提高程序的可扩充性
//构造函数和静态成员函数不能是虚函数
//派生类中和基类中虚函数同名同参数的函数,不加vitual也自动成为虚函数
//多态的实现---虚函数表,占用内存空间前面4或8(64位系统)个字节
//基类的析构函数是虚函数,其派生类统统都成了虚函数,建议这么做
//纯虚函数,没有函数体=0,,包含纯虚函数就是抽象类,其不能创建抽象类的对象

//函数模板
//类模板
//STL
//输入输出
//运算符重载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值