目录
类
学习C++后,我们知道了C++是面向对象的,C语言是面向过程的。
C语言中结构体只能定义变量,但C++后,结构体不但可以定义变量,还能定义函数。
类的定义
class className
{
//类体:由成员函数和成员变量组成
};//和结构体一样有分号
类的访问限制符和封装
C++如何封装呢?
用类将对象的属性和方法结合在一起,通过访问选择性将接口提供给外部的用户使用。
1. public修饰的成员在类外可以直接被访问
2. protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)
3. 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
4. class的默认访问权限为private,struct为public(因为struct要兼容C)
this指针
什么叫this指针?
C++编译器给每个“非动态的成员函数”增加了以一个隐藏的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),函数体中所有成员变量的操作,由该指针访问。
构造函数
构造函数是一个特殊的成员函数,名字和类名一样,用来保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。(用来给数据成员初始化)
特征:
1.函数名与类名相同
2.无返回值
3.对象实例化时编译器自动调用对应的构造函数
4.构造函数可以重载
class Date
{
public:
//1.无参构造函数
Date()
{}
//2.带参构造函数
Date(int year, int month,int day)
{
_year = year;
_month = month;
_day = day;
}
private:
int _year;
int _month;
int _day;
};
void Test()
{
Date d1; //调用1
Date d2(2021.10.26); //调用2
}
拷贝构造函数
什么是拷贝构造函数呢?
我们在创建对象时,想要创建一个与一个对象一模一样的新对象(相当于复制),这时就出现了拷贝构造函数。
它只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。
本文介绍了C++中的面向对象特性,包括类的定义、访问限制符和封装概念,详细讲解了this指针的作用。此外,还探讨了构造函数的特性,如自动调用和初始化数据成员,并解释了拷贝构造函数在创建对象副本时的重要性。通过对这些基础知识的理解,读者可以更好地掌握C++的面向对象编程。
3万+

被折叠的 条评论
为什么被折叠?



