- 0
- 0
- 约5.54千字
- 约 7页
- 2018-02-18 发布于河南
- 举报
2.1C语言概述
2.1.1 C++的面向对象特征
概括地讲,面向对象系统包含3个要素:对象、类和继承。能支持所有上述3个方面的语言,被称为面向对象语言。从本质上讲,C++并不是一种完美的面向对象设计语言,而是C语言的一个超集,与C兼容也是其成功的一个重要方面,因而C++也是一种混合语言,既支持传统的面向过程程序设计,又支持面向对象程序设计,灵活性大。它继承了传统C语言的优点,克服了其不足;又在面向对象特征及非面向对象特征这两个方面增加了新功能,使得它既适用于结构化程序设计,又能满足面向对象程序设计的要求,符合广大程序设计逐步更新其程序设计观念和方法的要求,因而很快流行起来。
C++的面向对象特征和风格:
(1)C++借助于把一个数据结构及其操作函数组合在一起,提供了类/对象的构造和封装机制。
定义一个类的一般形式是:
class calss_name
{
private: //私有成员部分(类外部的代码不能直接访问的部分)
data and methods //可包括成员变量和成员函数
protected: //保护的成员部分
data and methods
public: //公用成员部分
data and methods //公有部分定义的变量和函数
}object_name_list;
在缺省关键词的情况下,类中所有项均为私有的。C++中的struct 和 union 也和 class一样能够定义一个类,所不同的是定义成员时,在缺省关键词的情况下所有成员均为公有的。
(2)提供对象的创建和删除,特别是使用了构造函数和析构函数来管理对象。
构造函数是一个特殊的成员函数,其函数命名与类名同名,它指定了一个类的实例对象的建立和初始化过程。
析构函数是用于释放内存和删除由构造函数创建的对象。
例如:
#include iostream.h //不同于C的stdio.h
class myclass
{
int a;
public:
myclass();
void show();
};
myclass::myclass()
{
cout”in constructor\n”;
a=10; //a的值由myclass()自动初始化
} //注意,构造函数是没有返回值的
.
.
.
main()
{
myclass ob ; //变量说明语句也是动作语句,调用了构造函数
ob.show();
return 0;
}
(3)能够进行对象间的消息传递、操作调用,除了使用操作符、指针、表达式外,还有指向自身的this等。
(4)支持继承机制,特别是提供了在一种通用的功能上进行具体化定义的方法,使用基类和派生类,形成了十分方便的继承机制。
在C++中,一个派生类可以有多个基类,支持多重继承。说明一个类继承另一个类的形式为:
class 派生类名:[public/private/protected] 基类名
{ //冒号是类属范围算符(双目)
.
.
.
}
例如:
class base
{
int x;
public:
void setx(int n){x=n;}
void showx(){coutx”\n”;}
};
class derived:public base
{
int y;
public:
void sety(int n){y=n;}
void showy(){couty”\n”;}
};
main()
{
derived ob;
ob.setx(10);
ob.sety(20);
ob.showx();
ob.showy();
return 0;
}
(5)具有灵活的处理动态连接功能,其方法是使用虚函数(在函数名前用关键字virtual进行标识),它只能在最高层的基类中定义。
C++中函数名和运算符重载也是支持多态性的好方法。例如,下面重载构造函数提供了便利的初始化对象。
#include iostream.h
class myclass
{
int x;
public: //两种构造函数重载,使对象oba初始化,而obb没有
myclass(){x=0;} //no initializer
mycla
您可能关注的文档
最近下载
- Leisai雷赛智能控制 数字式两相步进驱动器 DM422(V3.0) M542 使用说明书.pdf
- 租房合同范本下载(可直接打印).pdf VIP
- 《巴洛克时期工艺美术》.ppt VIP
- 监控系统维护保养记录表.doc VIP
- 2023年高考历史试卷(浙江)(6月)(解析卷).doc VIP
- 二型糖尿病肾病护理查房ppt课件.pdf VIP
- 铁路运输安全管理概述.pptx VIP
- 2025年陕西省普通高校职业教育单独招生考试语文真题(含答案)2025.pdf VIP
- 浙江省宁波市宁波九校2023-2024学年高二上学期1月期末数学试题 Word版含解析.docx VIP
- 社会支持量表:信度与效度的研究.docx VIP
原创力文档

文档评论(0)