c/c++

c++参考书:C++ Primer,Effective C++

2017-11-08  本文已影响0人  derivator_2

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++在输出方面的区别:C cout <<"i="

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

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

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

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

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

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

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

•返回值传递:return by value vs reference 引用,和参数传递相同。当函数有一定时效(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));

上一篇下一篇

猜你喜欢

热点阅读