2008-1-3
孙鑫
VC
视频学习
NO2
1
、
struct
和
class
在
C
语言中,没有
class
,
struct
中是不能有函数的
在
C++
中,
class
和
struct
中都可以有函数,
struct
可以看成是特殊的
class
类。
在
C++
中,
class
成员默认是
private
的,而
struct
是
public
2
、类
(class)
的构造函数
类的构造函数的作用是提供给用户对类的成员变量进行初始化的一个接口
类的构造函数在类被实例化的时候自动被调用
如果一个类没有定义任何构造函数
(
不论是无参还是有参构造函数
)
,那么编译
在以下三种情况下为类提供一个默认的构造函数:
①
、如果类有虚拟成员函数或虚拟继承父类
(
即有虚拟基类
)
时;
②
、如果类的基类有构造函数
(
可以是用户为基类定义的构造函数,也可以
是编译器为基类提供的构造函数
)
时;
③
、在类中的所有的非静态的对象数据成员,他们所属的类中有构造函数
(
可以是用户为基类定义的构造函数,也可以
是编译器为基类提供的构造函数
)
时;
编译器为
class
提供的默认构造函数是一个不带参数的函数。但是只要一个类
中提供了一个构造函数,无论它是带参数的,还是不带参数的,编译器就不再为类提供默认的构造函数。也就是说如果一个类定义了一个带参数的构造函数,还想要一个不带参数的构造函数,我们必须自己定义。
3
、类
(class)
的析构函数
类的析构函数是类的“反向”构造函数,类的析构函数是不能有返回值的、不能带参数的、并且每一个类只有一个析构函数。
类的析构函数同样是不需要我们去调用的。
4
、重载
(overload)
①
、函数重载
函数重载要满足以下一个条件:
A、
函数的参数不同
B、
函数的参数个数不同
说明:函数光是返回类型不同是不能构成函数重载的。
②
、操作符重载
5
、
this
指针
This
指针是一个隐含的指针,它指向对象本身,代表对象的地址。所有的非静态函数都可以使用
this
指针
(
静态成员函数是没有
this
指针
)
,并且
this
指针是
const
类型的,不能被修改。
6
、类的继承
类的继承就是为了代码的重用
未完待续
<script src="http://s.vdoing.com/u/107/54977.js" type="text/javascript"></script>