c++中含有 static ,以及 面向对象的三种类型

static

在类中只有数据成员才会占用内存,每创建一个对象,没有 static 修饰的数据成员会被创建一份,有static 修饰的数据成员无论创建对少此对象,在内存中只有一份。
在类中 没有static 修饰的函数成员被调用时会将对象地址当作参数传入函数中,而有static 修饰的函数成员被调用时没有对象地址这一说法,static 修饰的函数成员就是为了在对象没有被创建前也可以调用函数去修改 static 修饰的数据成员,当然对象也可以修改static 修饰的数据成员。

复合,委托,继承

复合:类中有其他类的对象,典型的用法就是其他类的对象实现了很多功能,但是我们指向开发一部分的功能给其他人使用,则可以使用复合的方式,重新声明开放函数,开放函数中直接调用其他类对象的功能。
委托:类中有指向其他类的指针。典型的用法是多个对象同时指向了一个其他类的对象,起到了共享的作用。
继承:包含了父类的所有数据,根据继承的方式,可以使用父类的成员函数。继承函数有三种类型:1.不希望子类重新该函数。2.希望子类重新定义,但是自己有默认操作 则在该函数前面 使用 virtual,形成虚函数。3.子类一定要重新定义,父类不实现,在该函数面前使用 virtual 修饰的同时 函数的声明 末尾 增加 “ = 0”,无函数的定义,形成纯虚函数。

复合方式 和 继承 方式的构造函数和析构函数

构造函数的调用顺序:如果类有继承多个父类和类内创建了多个对象,则先调用继承父类的构造函数再调用对象的构造函数,且父类的构造函数是从左到右的继承顺序调用,对象的构造函数是按照对象定义的先后顺序决定,不是类本身的构造函数初始化列表顺序决定,初始化列表只是提供了初始化的初值,不能决定调用的顺序。
析构函数和构造函数的顺序相反
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值