CPP类和对象1-四个默认成员函数
2017-10-10 19:53
1161 查看
1、(1)类的定义
类也是一种数据类型,同int,float等基本数据类型一样,可以生成类的变量。
每个类可以没有成员,称为空类。
例如:首先用class声明类的名称。
也可以定义多个成员,成员可以是数据,函数或类型别名。
(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指针是成员函数隐形指针形参。
类也是一种数据类型,同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指针是成员函数隐形指针形参。
相关文章推荐
- C++类和对象.四个默认成员函数(赋值运算符重载)
- 类和对象——四个默认成员函数+运算符重载
- 类和对象 , 四个默认成员函数及运算符重载 , 隐含的this指针
- 类和对象(四个默认成员函数+运算符重载)
- C++类和对象——四个默认成员函数+运算符重载
- 【C++】类和对象--基础知识+四个默认成员函数+运算符重载
- C++类和对象1--四个默认成员函数+运算符重载
- 【c++】类和对象--四个默认成员函数+运算符重载
- C++类和对象、四个默认成员函数、运算符重载
- CPP类和对象--四个默认函数+运算符重载
- 类和对象1--四个默认成员函数+运算符重载
- 四个默认成员函数&运算符重载
- 四个默认成员函数和重载运算符
- 类中的四个默认成员函数+运算符重载
- C++类和对象:四个默认函数和运算符重载
- 定义圆类Circle,数据成员有半径radius,成员函数有默认构造函数(默认半径为10)、构造函数、计算圆面积、圆周长以及输出函数,分别构造默认对象和半径为15的对象,输出各对象的周长与面积。
- 定义长方体类,数据成员有长、宽、高,成员函数有带默认形参值的构造函数(默认长宽高分别为2.5、3.4、2)、计算体积函数,分别构造默认对象和长宽高分别为6.25、4.8、5.2的对象,输出各对象的体积
- String类的四个默认成员函数
- C++类和对象及其默认成员函数
- C++四个默认成员函数&运算符重载