- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华东师大网络学院计算机专业 ;基本要求;课程性质与目的;教材;参考资料;课程重点;面向对象的主要特点;抽象性;抽象性;封装性;封装性;继承性;继承性;多态性;多态性;另一重要内容 — 模板;模板;课程主线;各章重点;第1章 把C++看作更好的C 重点;第2章 类和数据抽象(一) 重点;第3章 类和数据抽象(二)重点;第4章 运算符重载重点;第5章 继承重点;第6章 虚函数和多态性重点;第7章 C++输入/输出流重点;课间休息;例题讲解;例题;建立数组类型的目的;内部数组的缺陷;内部数组的缺陷;内部数组的缺陷;内部数组的缺陷;内部数组的缺陷;C++的解决方案;设计方法;设计方法;设计方法;设计方法;设计方法;设计方法;设计方法;实现方法;实现方法;实现方法;实现方法;实现方法;数组类Array;//***************************************************
// array.h 简单的类Array(用于整数)
// 成员函数在文件array.cpp中定义
//***************************************************
#ifndef ARRAY_H
#define ARRAY_H
#include <iostream.h>
class Array {
friend ostream& operator<<(ostream&, const Array&);
friend istream& operator>>(istream&, Array&);
public:
Array( int arraySize = 10 ); // 缺省构造函数
Array( const Array& ); // 拷贝构造函数
~Array(); // 析构函数
; Array& operator=( const Array& ); // 给数组赋值
int operator==(const Array& ) const;// 比较数组的相等性
int operator!=(const Array& ) const;// 比较数组的不相等性
int& operator[ ] ( int ); // 下标运算符
private:
int* ptr; // 指向数组第一个元素的指针
int size; // 数组的大小
};
#endif;//***************************************************
// array.cpp 定义类Array的成员函数
//***************************************************
#include <iostream.h>
#include <stdlib.h>
#include <assert.h>
#include "array.h"
;// 类Array的缺省构造函数
Array::Array(int arraySize)
{
size = arraySize; // 数组缺省大小为10
ptr = new int[size]; // 为数组分配内存空间
assert( ptr != 0 ); // 内存分配不成功时中止
for (int i = 0 ; i < size ; i++ )
ptr[i] = 0; // 对数组初始化
};// 类Array的拷贝构造函数
Array::Array( const Array& init )
{
size = init.size; // 指定数组的大小
ptr = new int[size]; // 为数组分配内存空间
assert( ptr != 0 ); // 内存分配不成功时中止
for (int i = 0 ; i < size ; i++ )
ptr[i] = init.ptr[i]; // 把初始化值拷贝到对象中
};// 析构函数
Array::~Array()
{
delete[] ptr; // 回收分配给数组的内存空间
};// 重载下标运算符
int& Array::operator[ ] ( int subscript)
{ // 检测下标越界错误
assert ( 0 <= subscript && sub
文档评论(0)