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

CPP类和对象1-四个默认成员函数

2017-10-10 19:53 1161 查看
1、(1)类的定义

类也是一种数据类型,同int,float等基本数据类型一样,可以生成类的变量。

每个类可以没有成员,称为空类。

例如:首先用class声明类的名称。

class AA
{
};


也可以定义多个成员,成员可以是数据,函数或类型别名。

(2)访问限定符

访问限定符有三种:公有的(public)、保护的(protect)、和私有的(private)。

公有成员定义了类的外部接口,可以被用户程序直接访问。

私有成员定义了类的内部使用的数据和函数,只能被自己所属类的成员函数访问。

保护的成员的权限介于公有和私有之间,在继承中使用。

(3)面向对象封装性

在面向对象程序设计中。通过封装,可以将一部分属性和操作隐藏起来,不让使用者访问,另一部分作为类的外部接口,使用者可以访问。

(4)对象大小的计算

空类的大小为1,其他计算变量大小,存在内存对齐。

2,四个默认成员函数&运算符重载

构造函数:(1)函数名与类名相同。

(2)无返回值。

(3)对象构造时系统自动调用对应的构造函数。

(4)构造函数可以重载。

(5)构造函数可以在类中定义,也可以在类外定义。

(6)如果类定义中没有给出构造函数,则编译器自动产生一个缺省的构造函数,但只要自己定义了构造函数,系统不会自动产生构造函数。

(7)无参构造函数和全缺省构造函数都认为时缺省的构造函数,并且缺省的构造函数只能有一个。

析构函数:(1)在类明前加上~

(2)析构函数无参数无返回值。

(3)一个类有且只有一个析构函数,若未显示定义,系统会自动生成缺省的析构函数。

(4)对象生命周期结束时,编译系统自动调用析构函数。

(5)析构函数不是删除对象,而是做一些清理工作。

拷贝构造函数:(1)是一个构造函数的重载

(2)拷贝构造函数的参数必须使用引用传参,使用传值方式会引发无穷递归调用。

(3)若无定义,系统会默认缺省的拷贝构造函数。

赋值运算符重载:是对一个已存在的对象进行拷贝赋值。

3、隐含的this指针

(1)每个成员函数都有一个指针形参。

(2)编译器会对成员函数进行处理

(3)this指针是成员函数隐形指针形参。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cpp class
相关文章推荐