C++学习笔记

1.函数可以直接在形参中赋值
2.一旦形参中出现一个默认参数,则从此位置开始往右所有的形参都要有默认参数
3.函数声明和实现只能有一处有默认参数

public:类内 可以;类外可以
protected:类内 可以;类外不可以,子类可以
private:类内 可以;类外不可以,子类不可以
类外指的是p1.name

通常变量设置为私有,通过公共函数进行读写。

继承会将父类中的所有成员进行继承,对于父类的private类型的成员变量,子类中含有此成员(占用大小)但是子类不可访问此成员。

构造函数
可以有参数(有参构造),可以重载,也可以无参数(无参构造),如果自己没有实现,编译器会自动实现无参构造。当类被实例化后构造函数被自动调用。
如果自己实现了有参构造函数,则编译器不再自动生成无参构造函数。
如果自己实现了拷贝构造函数,则编译器不再自动生成任何构造函数。
拷贝 > 有参 > 无参,如果自己实现了高级,编译器不会自动生成更低级。
析构函数
不可以有参数,因此不能重载。

类的静态成员变量,使用static关键字修饰。
类内声明,类外初始化
所有对象共享同一份数据
静态成员变量的访问方式两种:1.对象访问2.类名::成员变量
静态成员函数只能访问静态成员变量,无法访问非静态成员变量,因为非静态成员变量是具体某个对象的变量,而静态成员变量是
属于类的变量。
静态成员函数的访问方式两种:1.对象访问2.类名::成员函数

成员变量和成员函数分开存储。
非静态成员变量属于类的对象上,静态成员变量不属于类的对象上
非静态成员函数和静态成员函数都不属于类的对象上

this指针(指针常量,指针的指向不可修改)隐含在每个成员函数的内部,哪个对象调用此成员函数,此成员函数的this指针就指向哪个对象。
void show() const 也称常函数 常函数内部不可以修改成员属性!
此const也用来修饰this指针,表明指针指向的值不可修改

常对象只能调用常函数。

函数模板实际上就是类型参数化

在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。在派生类中被重新定义的成员函数必须和基类中的函数函数名,参数类型以及数量等完全一样才行,否则,无法实现父类指针调用子类同名方法。( virtual伴随着指针和引用一起)

对于函数重载而言,只需函数名一样,子类对象中的同名函数(函数重载)会覆盖父类中对应的函数,此时可以通过父类的作用域运算符调用父类中的同名函数。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值