工作准备

  1. static和全局变量属于全局/静态区,最后释放
  2. static属于类域,不属于对象的sizeof范围
  3. 4字节对齐,为4的倍数即可
  4. 神马成员都没有的类,或者只有成员函数 ,sizeof(对象)为1
  5. int【10】() 初始化为0
  6. 指针类型为int,加1,为4个字节
  7. 正确:方法重写的返回值类型必须相同或相容。(或是其子类)
  8. 第三个对象是这样构造的MyClass obj3 = obj1;这里会调用拷贝构造函数,如果是obj3已经构造完成,MyClass obj3;obj3=obj,则会调用拷贝构造函数
    
  9. 以上全都不正确
  10. stack的pop为什么不返回值,为了安全?一般来说更改函数不应该以传值的方式返回对象,如果进程突然故障,。。。?
  11. 字符串属于字符类型的派生类型(char数组)。用于字符串一定要以空字符(‘\0’)结束,故所有的字符串里面一定有一个空字符。当然空字符串(“”)也不例 外。
    
  12. char *str = NULL;   表明该变量不指向任何有效的内存区域,避免野指针。

  13. 如果用户没有提供任何构造函数,除了某些情况之外,C++ 将提供一个默认构造函数。C++ 隐式提供的默认构造函数没有初始化列表,并且函数体为空。换句话说,它什么也不干。(当然基类、类成员的构造函数还是会被调用的)当然也不会把成员置为0。

  14. 但是如果类的成员对象是内置类型,默认构造函数会不会对其初始化取决于对象定义的位置,如果对象是在全局作用域内定义的,则会初始化为0,如果定义在局部作用域,则不会初始化,要初始化只能自己定义构造函数
    如果类的成员对象是类,则无论在什么地方定义,也无论有没有定义自己的构造函数,系统都会将其初始化,如果自己初始化了,则以自己初始化的为准,如果自己没有初始化,则初始化为空类型。也就是说static成员和全局成员,系统都会初始化,而其他成员,则默认构造函数不会初始化,例如int成员,


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值