C2C++学习笔记

C2C++学习笔记,第1张

从C到C++

参考资料: 侯捷C++课程.

本文是从C入手C++学习过程中的一些记录. 文中代码均忽略了与对应主题无关的部分, 用 “…” 代替.

目录
  • 从C到C++
    • 相同class的各个object互为friends
    • class body外的各种定义
    • *** 作符重载

相同class的各个object互为friends

当看到用相同class的一个object直接用 . 的方式获得另一个object的私有成员变量时, 这个是合法的, 因为它们互为友元.

class body外的各种定义

注意:

  1. 数据一定放在private
  2. 参数尽量用reference来传递. const与否看情形
  3. 返回值也考虑用reference来传递
  4. 在类的本体里面的各种函数, 如果需要加const, 一定要加
  5. 构造函数有一个特殊的语法, 用冒号引导的 初值表. 要尽量使用它来构造函数
inline complex&
__doapl(mplex* ths, const complex& r)
{
    ths->re += r.re;
    ths->im += r.im;
    return *ths;
}

inline complex&
complex::operator += (const complex& r)
{
    return __doapl(this, r)
}

一个函数的 *** 作结果应该放在那里? 两种情况

  1. 必须创建一个位置来放;
  2. 可以放在一个传入参数里, 然后return by reference.

如果是创建一个位置(局部变量)的情形, 就不能用reference来传递返回值. 因为局部变量在函数结束时, 生命就结束了. 把它的地址传给别人, 就是错的.

*** 作符重载

还没写完.

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/569900.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-09
下一篇2022-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存