《C++面向对象程序设计》教案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》课程教案

课程编号:08051230

课程名称:面向对象程序设计(Object-oriented Programming)

学时:72学时,其中理论学时54,上机学时18

学分:3.5

开课部门:数学与计算机科学学院

开课教研室:计算机科学

开课教师:雷小园

开课学期:第7学期

授课班级:04信计

先修课程:C语言程序设计

考核要求:考试,平时10%,实验20%,考试70%

使用教材:

《C++面向对象程序设计教程(第2版)》,陈维兴,清华大学出版社,2004年

《C++面向对象程序设计习题解答与实验指导》,陈维兴,清华大学出版社,2004年教学目的与要求:

《面向对象程序设计》是一门计算机及相关专业的重要的专业基础课。本课程讲述C++语言面向对象的基本特性,包括类、对象、派生类、继承、运算符重载、多态性、虚函数、函数模板、类模板、输入输出、流类库、文件等,使学生掌握面向对象程序设计的基本概念和基本方法,能运用C++语言进行基本的面向对象程序设计。

教学方法:

采用板书讲解C++程序设计,再加以上机练习C++编程。

第3章类和对象3.1 类与对象的基本概念

3.2 构造函数与析构函数

例:点类 Point

class Point

{

private:

int x,y;

public:

Point() {};

Point(int xx, int yy) { x=xx; y=yy; }

Point(Point &p) { x=p.x; y=p.y; }

int GetX() const { return x; }

int GetY() const { return y; }

void SetXY(int xx, int yy) { x=xx; y=yy; } void Show();

};

void Point::Show()

{ cout<<"X: "<<x<<", Y: "<<y<<endl;

}

例:人类 Person

class Person

{ protected:

char *name;

int age;

char sex;

public:

Person(char *n, int a, char s);

Person() { name = 0; age = 0; sex = ' '; } Person( Person &p );

~Person() { delete[] name; }

void SetName(char *n);

void SetAge(int a){ age = a; }

void SetSex(int s){ sex = s; }

char *GetName() const { return name; }

int GetAge() const { return age; }

char GetSex() const { return sex; }

void Show();

};

#include "person.h"

#include <iostream>

using namespace std;

Person::Person(char *n, int a, char s)

{ name = new char[strlen(n)+1];

strcpy(name,n);

age = a;

sex = s;

}

Person::Person(Person &p)

{ name = new char[strlen()+1];

strcpy(name,);

age = p.age;

sex = p.sex;

}

void Person::SetName(char *n)

{ delete[] name;

name = new char[strlen(n)+1];

strcpy(name,n);

}

void Person::Show()

{

cout<<"Name: "<<name<<", Age: "<<age<<", Sex: "<<sex<<endl; }

3.3 对象数组与对象指针

1、对象数组

所谓对象数组是指每一数组元素都是对象的数组。

2、对象指针

声明对象指针的一般语法形式为:类名* 对象指针名。

当用指向对象的指针来访问对象成员时,要用“->”操作符。

3、this指针

C++为成员函数提供了一个名字为this的指针,这个指针称为自引用指针。每当通过一个对象调用一个成员函数时,系统就自动把这个this指针指向该对象。因此使用的数据成员就是该对象的数据成员。

3.4 向函数传递对象

1、使用对象作为函数参数

2、使用对象指针作为函数参数

3、使用对象引用作为函数参数

3.5 静态成员

1、静态数据成员

在一个类中,若将一个数据成员说明为static,这种成员称为静态数据成员。与一般的数据成员不同,无论建立多少个类的对象,都只有一个静态数据的拷贝。从而实现了同一个类的不同对象之间的数据共享。

定义静态数据成员的格式如下:

static 数据类型数据成员名;

静态数据成员在该类定义之外被初始化。访问静态数据成员可以通过对象或指针来访问,也可以通过类名::来访问。

2、静态成员函数

定义静态成员函数的格式如下:

static 返回类型静态成员函数名(参数表);

与静态数据成员类似,调用公有静态成员函数的一般格式有如下几种: 类名::静态成员函数名(实参表)

对象. 静态成员函数名(实参表)

对象指针->静态成员函数名(实参表)

相关文档
最新文档