4_16 C++笔记 HW总结(类)

C++ explicit关键字详解_tiankong19999的博客-CSDN博客_explicit

4_1 C++笔记 (3) 类和对象-对象特性_music猜想的博客-CSDN博客

C++_拷贝赋值运算符详解_深入浅出_图文并茂_Dancing With Bugs的博客-CSDN博客_拷贝赋值运算符

 C++中的常成员函数以及const用于函数重载_Jared_Yang的博客-CSDN博客_常成员函数重载

 C语言中size_t类型详细说明【转载】 - jiangxiaobo - 博客园

这张图中有很多新的知识点哦

 C++11新特性之 “=default” 、“=delete”_mayue_csdn的博客-CSDN博客_析构函数default

C++——std::String_zy2317878的博客-CSDN博客_std::string

总结几个TA强调的点:

1.virtual ~Expr_node() = default; 这里是虚析构,不是纯虚析构

纯虚析构一定是

另外override关键字的作用:override是重写!!

C++11 中的 override 关键字,可以显式的在派生类中声明,哪些成员函数需要被重写,如果没被重写,则编译器会报错。

 override关键字 - 狂奔~ - 博客园

例子:假如我们要重写这个常函数:

助教的原话:

override不只是增加可读性,它是为了让编译器帮你检查你是否真的在override父类对应的函数,因为一旦你稍微写错了一丁点东西(比如对于上面这个例子来说,重写时漏写了const),他就会和父类函数构成重载(就不是我们想要的重写了)或者掩盖父类函数,而非override,这是如果有override关键字的话编译器就会把这个错误告诉你

另外

用初始化列表写构造函数才是规范的行为,和在函数体里赋值那种写法是有区别的

构造函数的规范写法是使用初始值列表,而非先默认初始化各个成员 再在函数体里赋值

More important than the efficiency issue is the fact that some data members must be initialized. By routinely using constructor initializers, you can aviod being surprised by compile-time errors when you have a class with a member that requires a constructor initializer.

学长一直向学生强调:在C++中写成员函数时要形成条件反射,参数列表一写完就要思考接下来应不应该写const

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值