美文网首页
【Boolan】C++面向对象编程(上)-Clarence

【Boolan】C++面向对象编程(上)-Clarence

作者: 蟹黄堡没 | 来源:发表于2017-07-31 16:14 被阅读0次

    c语言面向过程,c++(以前为c with class)面向对象

    面对对象的语言还有Java,C#

    教学目的:良好的方式,快捷的效率,正规、大气的编程习惯。

    class(私有)是定义类的关键字,类似于struct(公用)定义

    Complex(复数):无指针的class;string(字符串):有指针的class

    class之间的关系有:继承,复合,委托

    Object Based(基于对象):面对单一class的设计;

    Object Oriented(面对对象):面对多重class的设计,class之间的关系。

    教材:C++Primer  C++ programming language

    效率提高:Effective C++ 及其中文版(侯捷)

    源码: c++ standard library 及 stl源码剖析

    代码基本形式:  .h(header files):class declaraion(声明)

    .cpp:#include<标准库> #include"自建"

    C与C++在输出方面的区别:Ccout <<"i=" <

    头文件中防御式声明:#ifndef _COMPLEX_

    #define _COMPLEX_

    头文件的布局:(前置声明,类声明,类定义)

    class声明:class头>class体

    三行与两行区别:先初始化后赋值

    class模板(template):少数不同,定义T,后改为int double等

    访问级别:关于公共private(封装)、私有 (P20)

    C++允许有多个构造函数-overlording(重载)。同名的函数可以有一个以上(分情况)

    ctor构造函数放入 private区(不能被外界调用):singleton设计模式

    常量函数:加const(函数内数据不会发生变化),函数该加const的地方不能少

    参数传递:pass byviewvsreference引用(to const、xxx&),尽量所有参数传递使用引用。和指针一样,参数会发生变化;如果不希望改变内容使用to const(const xxx&)。

    返回值传递:return byvaluevsreference引用,和参数传递相同。当函数有一定时效(local object)时不能用引用。传递者无需知道接受者是以reference引用形式接受

    friend(友元):friend不能太多,同一个class的各个对象互为friends

    操作符重载-1:成员函数,如+=(赋值加法)complex::operator +=(const complex& r)一连串操作符

    class定义(class body之外的定义):操作符重载-2,非成员函数(无this)  +

    临时对象(temp object):typename()如real(x);返回的如果是个local object不能返回引用(return by reference)

    -(负号)判断是负号(negate)还是减号

    ==(判断,等不等于)!=(判断,不等于) <<(右边输出到左边)

    共轭复数:return  complex (real(x),-imag(x));

    相关文章

      网友评论

          本文标题:【Boolan】C++面向对象编程(上)-Clarence

          本文链接:https://www.haomeiwen.com/subject/iqsrlxtx.html