Boolan_C++_OOP

为什么 学习 C++?

他的效率 比其他 面向对象 语言,
更快。

作用域,Scope 大括号

以 良好的方式, 编写 C++ class

  • Class without pointer members
    Complex , 没指针
    不带指针的类, 多半不用写 析构函数。
    复数, 包含 实部 和虚部。
  • Class with pointer members
    String, 有指针
    字符串, 其实 是个 ptr, 指向一串字符。

学习 C++,

  • 语言部分
  • 标准库 部分

C++ 98
(1.0 ) 1998

C++ 11
( 2.0 ) 2011

STL, Standard Template Library.

C语言,
数据定义在 结构体中。类型。

数据变量, 都是 全局的。
各个函数 , 都可以 去处理数据。

C ++,
Class / Struct,
Data Members,
Member Functions.
把 数据 和 函数 包在一起。

Guard 防卫式声明
# ifndef
# define
# endif

{
条件 编译.
防止 在 一个 .cpp 里面,
include 同一个 .h 文件 多次。
而出现, 那个 .h 的声明 , 被重复出现。
}

Class Template 模版
template < typename T > 函数模板

构造函数 ctor 放在 private 区。
public 区, 放一个 单例。

不会改变的内容前面,
( get 方法 ),
实现前面,加 const.


参数传递

  • pass by value 尽量不要传值。
    整包 传过去。
    Value 多大, 都传。
    传的动作, 就是 压到 函数的 栈( Stack )里面。
  • pass by reference ( to const )
    有 取地址 符号。( & )
    引用 在底部 就是一个指针。
    传引用, 就相当于传指针。
    传引用, 速度很快, 传递指针的 速度, 4个字节。
    最好, 所有的 参数传递, 都传引用。
    参数少于 4字节, 传value.

我们是 同一个东西,
函数一改, 就影响了 我。
解决:
pass by reference to const

C 可以传 指针。
我要传 这一包东西,
这包东西太大了,
我就把 这一包东西的 地址 , 传出去。

返回值 传递

  • return by value
    没有 by reference 好。
    他比较差, 比较慢。
  • return by reference ( to const )
    尽量 这样做

用 reference 的 好处,
传递者 无需知道 , 接受者 是以 reference 形式接收。

用 point 来 pass value,
传的人 必须知道 现在传的是 什么东西, 要有一个 特殊符号。

操作符 重载, Operator Overloading


this, 调用者

所有的 成员函数, 一定带着一个 隐藏的 参数。
那个参数, 我没有写, 但是他在。
谁调用这个函数, 那个谁, 就是 this.

this , 是一个 指针。

编译器 ,把 operator 符号 ,
作用在 左边。

*ths, 是 指针所指的东西,
一个 object/ value.

看 function name ,
就知道
这是 成员函数, 还是 全局函数。

typename ( 临时对象)
等同于 int (sth )

临时对象, 他临时才要的。
他的生命 到下一行 ,就结束了。

negate 取反, 反向

+

正号, 还是 加法 ?
编译器 通过 参数, 识别。

你可能感兴趣的:(Boolan_C++_OOP)