您的位置:首页 > 编程语言 > C语言/C++

## c++学习笔记 --基础篇(第一周)##

2016-05-14 14:08 357 查看
1、编程语言是由data与functions组成的,c++语言把data与functions组合到一起合并为类。类相当于c语言中的struct。

2、c++创建对象分为有指针和无指针两种。当前都是讲无指针类型

以complex(复数)为例。注意点

1)、防卫式声明

2)、inline函数,函数定义到类本体内,就可能成为inline函数,但是都取决于编译器。不在类本体中定义的需要加inline。

3)、创建对象方式:

A a(1); //栈中分配,隐式调用

A b = A(1); //栈中分配,显示调用,

A* c = new A(1); //堆中分配

4)、构造函数:与类名一样,用来创建对象,一般放在public中,但也有放在private中的;complex(double r=0,double i=0)默认参数;无返回值;初值列:re (r),re(i)

5)、函数重载overloading:函数名一样但参数不同,函数重载常常用在构造函数中。

6)、const:函数在类body中,并且如果函数不改变类的数据的话,那就在函数后加const,例:**double real() const {return re;};参数不变的话也要加const

7.1)、by value或者by reference(引用):用&符号,参数和返回值尽量传引用;引用类似指针。

7.2)不能使用reference返回值如果是在函数中创建的不能用引用返回。

8)、友元friend:类之外的函数想要使用类的private数据时,则需要将该函数设置为friend函数;同一个class中各个object互为friends。

9.1)、成员函数-操作符重载操作符就是一个函数;所有的成员函数都隐藏了一个this,函数调用对象不能写到参数中;

9.2)、非成员函数-操作符重载把调用函数的对象也写进参数中,这是与成员函数中的操作符重载最大的区别。如果是临时对象(typename()这种形式为临时对象)不能用refrence返回。

设计类重点关注的点:body外的函数加inline;返回值尽量用refrence来传递;参数尽量用refrence来传递,看是否加const;构造函数尽量用初值列;数据存放到private中;类的body中的函数需要加const时不要忘了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++