博览网C++课程 第一周

第一周

1 C++编程简介

c语言是procedural language,变量(variables)、类型(types)、作用于(scope)、循环(loops)、流程控制。

C++历史:B语言(1969)、C语言(1972)、C++语言(1983)早起叫C withClass,后来更名为C++。

C++版本演化:C++98(1.0)、C++03(TR1)、C++11(2.0)、C++14。现在大部分都在使用98版本。

C++学习的内容主要包括:C++语言及其标准库。

 

2 头文件与类的声明


C++把数据和处理数据的函数打包在一起(就是Class),有保护数据安全等好处。

C语言直接操作数据,C++操作对象。

Class的两个经典分类:有指针成员和无指针成员,withand without pointer member(s)。


包含时,标准库用<>,自己写的用“”。

在C++中包含C的头文件可以#include <cstdio>


使用模板构建Class:


Class在创建时需要指定数据类型,有点像是在传递数据类型

3 构造函数

成员函数可以在类声明中直接定义,在complex的public成员中,带分号“;”的,表示这只是个声明。

const放在函数后面表示不改变类内成员。

 

成员函数在Class本体中直接定义,会成为一个inline候选,最后是否能成为inline将有编译器决定。

数据常常被定义为private部分;希望被外界调用的函数放在public里。

构造函数:创建对象时会自动执行,无返回值类型,不需要有。


complex c1(1, 2);                                         //创建时赋初值

complex c2;                                                    //无初值,初始化为0

complex *p = new complex(4);                  //

 

其他函数也可以像构造函数一样,可以设置默认值,但是初值列只有构造函数有次特性:

一定要使用初值列的方式,提高程序效率,培养大气的编程风格。

 

不带指针的Class大多不用写析构函数。

构造函数可以有很多个overloading,重载。

 

4 参数传递与返回值

如果构造函数放在了private区,外界需要时,通过类的public成员函数获得类。


const放在函数后面表示不改变类内数据。

 

函数参数的传递是传递value还是reference,尽量多使用引用。以及尽可能的使用const。

函数的返回值也尽量用引用传递。

 

friend(友元函数)可以做到直接拿private成员:


直接写r.re,而不是r.real()。

friend打破了Class的封装。

相同class的各个objects互为friend:


无需加friend也可以操作private成员。

 

数据放在private里;

尽可能用reference传递参数;

返回值尽可能用reference;

尽量加const;

多用初值列方法初始化成员;

 

5 操作符重载与临时对象

操作符也是一种函数,可实现重新定义。


在doapl中,return了一个complex *ths,返回值是complex &引用。

使用引用的话方便使用者,

6 复习Complex类的实现过程

complex中的运算符重载“+”等操作,不放在类内设计。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值