C++的6种默认函数及运算符重载

本文介绍了C++中的面向对象特性,包括类、对象、封装、继承和多态的概念。重点讲解了类的实例化、内存对齐规则、类的六个默认成员函数(构造函数、拷贝构造函数、析构函数等)以及运算符重载。还特别提到了类中的隐含this指针及其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++类和对象

我们知道C语言是面向过程的编程语言,而C++是面向对象(OPP)的编程语言。 
面向对象是一种程序设计范型,也是一种程序开发的方法。而对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装在里面,以提高软件的重要性、灵活性和扩展性。 
类(class)是C++中的特有的,形似于C语言中的结构体! 
类有三大特性:封装、继承、多态 
在一个类中,可以分为两种对象。分别是成员变量(数据)和成员函数(函数)。

封装 (encapsulation) 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合。 
封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过 外部接口,一特定的访问权限来使用类的成员

多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,>>>父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作<<<(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

“继承”是面向对象软件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为”B的子类”,而把B称为”A的父类”。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。

在类中有三种访问限定符分别是:1、public(公有)2、protectd(保护)3、private(私有)

1 . public成员可从类外部直接访问,private/protect ed成员不能从类外部直接访问。 
2 . 每个限定符在类体中可使用多次,它的作用域是从该限定符出现开始到下一个限定符之前或类体结束前。 
3 . 类体中如果没有定义限定符,则默认为私有的。 
4 . 类的访问限定符体现了面向对象的封装性。

类的作用域:

1 . 每个类都定义了自己的作用域,类的成员(成员函数/成员变量)都在类的这个作用域内,成员函数内可任意访问成员变量和其它成员函数。 
2 . 对象可以通过 . 直接访问公有成员,指向对象的指针通过 -> 也可以直接访问对象的公有成员。 
3 . 在类体外定义成员,需要使用 : : 作用域解析符指明成员属于哪个类域。

在类中可以写一个或多个函数,这种函数的作用域可以使类域,也可以是全局域。既可以在流泪中写函数,也可以在类外写,只不过要在类中声明,并且加作用域解析符。

class AA//AA为类名
{
pubilc://公有访问限定符
void Display()//Display就是成员函数
{
cout<<"Display()"<<endl;
}
private://私有访问限定符
int year;//这些为成员变量
int month;
int day;
};

这种函数是在类里面定义的成员函数,也可以在类外定义

class AA
{
public:
void Display();
private:
int year;
int month;
int day;
};

void AA::Display() //表明Display函数属于AA类
{
cout<<"Dispaly()"<<endl;
}
类实例化对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值