CPP程序设计第10课时教案

合集下载

C程序设计教案第十章

C程序设计教案第十章

概述—4/4 10.1 概述 4/4
数据类型相同的数据项,既可逐个、逐行分别定义, (3) 数据类型相同的数据项,既可逐个、逐行分别定义,也可合并成一 行定义。 行定义。 例如,本案例代码中的日期结构类型,也可改为如下形式: 例如,本案例代码中的日期结构类型,也可改为如下形式: struct date { year,month,day; int year,month,day; }; 结构类型中的数据项,既可以是基本数据类型, (4) 结构类型中的数据项,既可以是基本数据类型,也允许是另一个已 经定义的结构类型。 经定义的结构类型。 本书将1个数据项称为结构类型的1个成员(或分量) (5) 本书将1个数据项称为结构类型的1个成员(或分量)。
定义结构体类型变量的方法—2/3 10.2 定义结构体类型变量的方法 2/3
STUDENT { int num; char name[20]; char sex; int age; float score; char addr[30]; }; 然后可以直接用STUDENT定义变量。 STUDENT定义变量 然后可以直接用STUDENT定义变量。如 student1,student2; STUDENT student1,student2; 用这种方法定义变量和用int,float定义变量的形式相仿, int,float定义变量的形式相仿 用这种方法定义变量和用int,float定义变量的形式相仿,不必再写关 键字struct 如果程序规模比较大, struct。 键字struct。如果程序规模比较大,往往将对结构体类型的定义集中放到一 个文件( ")中 个文件(以·h为后缀的“头文件")中。哪个源文件需用到此结构类型则可 h为后缀的“头文件") include命令将该头文件包含到本文件中 这样做便于装配,便于修改, 命令将该头文件包含到本文件中。 用#include命令将该头文件包含到本文件中。这样做便于装配,便于修改, 便于使用。 便于使用。

C++程序设计课件 第10课 C++字符串

C++程序设计课件 第10课 C++字符串

第10课 C++字符串1、基本操作--------------------------------------------------------------------- #include <iostream>#include <string>using namespace std;int main(){string s1="abcde",s2="ABCDE",s;s=s1+s2;cout<<s<<endl;cout<<s.size()<<endl;return 0;}--------------------------------------------------------------------- 2、字符串实例-大写转小写--------------------------------------------------------------------- #include <iostream>#include <string>using namespace std;int main(){string s="abcdeABCDE";for(int i=0;i<s.size();++i){if(s[i]>='A' && s[i]<='Z')s[i]=s[i]+32;}cout<<s<<endl;return 0;}--------------------------------------------------------------------- 3、倒序--------------------------------------------------------------------- #include <iostream>#include <string>using namespace std;int main(){string s("当周围变得寂静无声的时候,你就是高手了!");string s1;s1=s;for(int i=0;i<s.size();++i)s1[i]=s[s.size()-i-1];cout<<s1<<endl;return 0;}--------------------------------------------------------------------- 4、变码--------------------------------------------------------------------- #include <iostream>#include <string>using namespace std;int main(){string s("µ±ÖÜΧ±äµÃ¼Å¾²ÎÞÉùµÄʱºò£¬Äã¾ÍÊǸßÊÖÁË£¡");string s1;s1=s;for(int i=0;i<s.size();++i)s1[i]=s[i]+5;cout<<s1<<endl;return 0;}--------------------------------------------------------------------- 5、查找子串位置--------------------------------------------------------------------- #include <iostream>#include <string>using namespace std;int main(){string s="abcde";string s1="cd";int n;n=s.find(s1,0);cout<<n<<endl;return 0;}--------------------------------------------------------------------- 6、查找并替换子串---------------------------------------------------------------------#include <iostream>#include <string>using namespace std;int main(){string s="abÁõ¶«Ã÷cde";string s1="Áõ¶«Ã÷";int n;cout<<s<<endl;n=s.find(s1,0);s.replace(n,s1.size(),"ÇúÒÕ");cout<<s<<endl;return 0;}--------------------------------------------------------------------- 7、查找并删除子串--------------------------------------------------------------------- #include <iostream>#include <string>using namespace std;int main(){string s="ab刘东明cde";string s1="刘东明";int n;cout<<s<<endl;n=s.find(s1,0);s.erase(n,s1.size());cout<<s<<endl;return 0;}--------------------------------------------------------------------- 8、查找并取出子串--------------------------------------------------------------------- #include <iostream>#include <string>using namespace std;int main(){string s="ab刘东明cde";string s1="刘东明";string s2;int n;cout<<s<<endl;n=s.find(s1,0);s2=s.substr(n,s1.size());cout<<s2<<endl;return 0;}--------------------------------------------------------------------- 9、实例-算式解析--------------------------------------------------------------------- #include <iostream>#include <string>#include <sstream>using namespace std;int str2num(string s){int n;stringstream ss;ss<<s;ss>>n;return n;}int main(){string s="1+2",s1,s2;int n1,n2;n1=s.find("+",0);n2=n1+1;s1=s.substr(0,n1);s2=s.substr(n2,s.size()-n2);cout<<s1<<endl;cout<<s2<<endl;cout<<str2num(s1)+str2num(s2)<<endl;return 0;}--------------------------------------------------------------------- 10、实例-英汉词典解析---------------------------------------------------------------------#include <iostream>#include <string>#include <sstream>using namespace std;int main(){string s="ability n.能力",s1,s2;int n1,n2;n1=s.find(" ",0);n2=n1;while(true){++n2;if(s.substr(n2,1)!=" ")break;}s1=s.substr(0,n1);s2=s.substr(n2,s.size()-n2);cout<<s1<<endl;cout<<s2<<endl;return 0;}--------------------------------------------------------------------- 11、演示:单串数据库-学生成绩管理系统(实验准备)--------------------------------------------------------------------- 程序:略。

《C语言程序设计(Visual C++ 6.0环境)》电子教案-第10章C++面向对象程序设计

《C语言程序设计(Visual C++ 6.0环境)》电子教案-第10章C++面向对象程序设计

返回本节目录
10.1.1 C++面向对象的程序实例
《 C 语 言 程 序 设 计 》
(Visual C++ 6 0 环 境 ) .
float rectangle::GetPerimeter() //成员函数实现 { return 2*(length+width); } class square:public rectangle //从矩形类中派生新类(正方形类) {public: void InitSquare(float b){InitRect(b,b);} //新增的成员函数(初始化 }; //正方形) void main() { square x; //声明正方形类对象 x.InitSquare(8); //调用正方形类新增的成员函数 cout<<x.GetArea()<<endl; //调用从矩形类中继承下来的成员函数 cout<<x.GetPerimeter()<<endl; //调用从矩形类中继承下来的成员 } //函数(GetPerimeter)
(Visual C++ 6 0 环 境 ) .
1. C++程序实例(1) 2. C++程序实例(2)
3. C++程序实例(3)
返回本节目录
10.1.1 C++面向对象的程序实例
《 C 语 言 程 序 设 计 》
(Visual C++ 6 0 环 境 ) .
1.C++程序实例1
【例10.1】定义一个矩形类。(程序名为l10_1.cpp。) #include<iostream.h> class rectangle //定义一个矩形类 { public: rectangle(float len,float wid) //构造函数 { length=len; width=wid; } float GetArea(); //声明成员函数,计算矩形面积 float GetPerimeter(); //声明成员函数,计算矩形周长 ~rectangle(){} //析构函数 private: float length; //私有数据 float width; };

2010C程序教案(第10章)

2010C程序教案(第10章)

2010C程序教案(第10章)第一篇:2010C程序教案(第10章)【教学课题】预编译处理(第10章预编译处理,1、2节)【目的要求】了解编译预处理的特点和功能,掌握编译预处理中的宏定义,理解文件包含。

【教学重点】宏的定义与使用(无参和有参),理解带参的宏和函数的区别。

【教学难点】宏的定义与使用(无参和有参),理解带参的宏和函数的区别。

【教学方法】任务驱动法,问题引导法【教学手段】讲授+多媒体演示+学生动手【作业布置】1、定义一个带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。

输出已交换的两个值。

2、分别用函数和带参的宏,从3 个数中找出最大数。

一、提出任务,引入课题例1:#include main(){ int a……} 例2:#include #define N 100 main(){ int a[N];…… }。

一般C程序的开发执行过程:编辑→ 编译→ 连接→ 执行含有预处理命令的C程序:编辑→ 预处理→ 编译→ 连接→ 执行二、分析任务,讲授新课C提供的预处理功能主要有以下三种:宏定义、文件包含、条件编译。

分别用宏定义命令、文件包含命令、条件编译命令来实现。

为了与一般C语句相区别,这些命令以符号“ #” 开头。

(一)宏替换(P172)宏:代表一个字符串的标识符。

宏名:被定义为“宏”的标识符。

宏代换(展开):在编译预处理时,对程序中所有出现的“宏名”,用宏定义中的字符串去代换的过程。

不带参数的宏定义A、一般形式:#define 标识符替换文本例如:#define PI3.14159 main(){ float l,r;printf(“Input a number :”);scanf(“%f”,&r);l=2*PI*r printf(“l=%fn”,l);} 说明:⑴宏名一般用大写表示,以便与变量名区分。

⑵使用宏名使程序易读,易修改。

⑶只作简单的置换,不作正确性检查。

第10课 程序设计——机器人大力士教学案

第10课  程序设计——机器人大力士教学案

第10课程序设计——机器人大力士教学案一、提出问题当今,日本盛行一种叫做“相扑”的比赛,比赛时两位大力士在一个圆圈内相互角力,一方把另一方推出圈外后就会获得比赛的胜利,如图10-1所示。

你能做一个机器人大力士吗?让机器人去参加“相扑”比赛!二、联想相扑机器人如果做成人形进行角斗是最理想的,但人形机器人的制作比较复杂,再去进行比赛就更难实现了。

因此,我们利用上节课制作的机器人小车来制作机器人大力士。

三、要求机器人相扑,如图10-2所示。

1. 机器人大力士不能出圈 2. 遇到对手时要相互角力四、构建机器人大力士在行走的过程中是不能主动出圈的,出圈后比赛就输了。

要使机器人不出圈主要是要让机器人能够准确识别黑线,那机器人如何能图10-1相扑运动图10-2 机器人相扑够识别黑线呢?这就要依靠机器人的眼睛——颜色传感器。

技能牌:颜色传感器EV3套装中提供了颜色传感器,如图10-3所示,颜色传感器就像机器人的眼睛一样,它可以识别颜色或光的强度。

颜色传感器提供了三种功能:1、颜色2、反射光线强度3、环境光强度机器人大力士主要利用颜色传感器的“反射光线强度”功能,它的原理是颜色传感器的发射端口将会发射红光,红光从物体反射回来被接收端口接收。

我们会看到反射回来的百分比:0-100。

数值越小代表光线越弱,数值越大光线越强。

这里要注意反射的数值会受到物体的颜色,材质或环境光线的影响。

颜色传感器安装:颜色传感器的端口要朝下,如图10-4所示,并且要考虑到当前机器人测试的环境,如果安装到小车的前方就要注意环境光对传感器的影响。

因此,为了将影响降到最低,我们通常将颜色传感器安装到机器人的车底,如图10-5所示。

这样既可以避免环境光对颜色传感器的干扰,而且在机器人相互碰撞的时候也不会把传感器撞歪或撞掉。

颜色传感器通过数据传输线连接到控制器输入端口3。

图10-4颜色传感器的端口朝下图10-5颜色传感器安装到车底图10-3 颜色传感器五、算法与程序:算法:当机器人前进的时候,会始终通过颜色传感器检测地面光强,如果是白色地面机器人会一直前进;如果遇到黑线,机器人就会停止,后退并转向,然后朝其他方向继续前进,根据算法编写以下程序。

C+语言程序设计第十讲

C+语言程序设计第十讲
输入流用于从文件或设备读取数据,输出流用于向文 件或设备写入数据。
缓冲流与非缓冲流
缓冲流可以提高I/O效率,非缓冲流则直接进行读写 操作。
流的操作符重载
C+语言中,可以通过操作符重载来实现对流对象的 简化操作。
文件读写操作示例
文本文件的读写
使用fstream类及其成员函数进行 文本文件的读写操作,如open()、 close()、read()、write()等。
05 文件操作与I/O流
文件的基本操作
文件的打开与关闭
使用fopen()函数打开文件,fclose()函数关闭文 件。
文件的读写
使用fscanf()、fprintf()等函数进行文件的读写操 作。
文件的定位
使用fseek()、ftell()等函数进行文件位置的定位。
I/O流的基本概念
输入流与输出流
指针的声明与初始化
声明指针变量时需要指定指针类型,例如`int *p;`声明了 一个指向整型的指针变量`p`。初始化指针变量时,可以将 其赋值为NULL或者一个有效的内存地址。
指针的运算
指针支持一些基本的运算操作,如指针的加减、指针的比 较等。这些运算操作都是以内存地址为单位进行的。
引用的基本概念
throw语句
当程序中发生异常时,可以使用throw语句抛出一 个异常,throw后面可以跟一个值,表示异常的具 体信息。
异常类
C+语言中可以通过定义一个异常类来表示 特定的异常类型,该类可以包含异常的信息 和处理方法。
程序调试技巧与方法
在程序中设置断点可以暂停程序的执 行,并允许开发者检查程序的状态和 变量值。
THANKS FOR WATCHING

精品课件-C++程序设计-第10章

精品课件-C++程序设计-第10章
cout<<"载入Vehicle基类析构函数"<<endl;
} protected:
float speed; int total; };
第10章 多态与虚函数
class Car:public Vehicle { public:
Car(int aird,float speed,int total):Vehicle(speed,total)
从上例代码的运行结果来看,当调用DelPN(a)后,在析构的 时候,系统成功地确定了先调用Car类的析构函数。但如果将析 构函数的virtual修饰去掉,再次运行代码则会得到不同的结果, 如下所示:
【程序10.4】 #include <iostream> using namespace std;
class Vehicle { public:
第10章 多态与虚函数
事实上,带变量的宏和函数重载机制也允许将不同的特殊行 为和单个泛化记号相关联。然而,习惯上我们并不将它们展现出 来的行为称为多态(或静态多态)。在这里,如果没有明确所指, 默认就是动态多态,其技术基础在于继承机制和虚函数。 10.2.2 虚函数与重写
简单地说,那些被virtual关键字修饰的成员函数就是虚函数。 声明虚函数的格式如下:
第10章 多态与虚函数
本章将讨论多态的概念及其作用。首先看下面的例子: 【程序10.1】 #include <iostream> using namespace std; class Vehicle { public:
Vehicle(float speed,int total) {
Vehicle::speed=speed; Vehicle::total=total; }

《C语言程序设计教程》课件--第10章

《C语言程序设计教程》课件--第10章
fp:已经打开的文件指针。
函数功能:
关闭fp指定的文件,释放该文件的缓冲区、 FILE类型变量及文件指针。
若文件关闭成功,则返回0; 若文件关闭失败,则返回非0值。
4/1/2020
10.2 文本文件的读写
18
10.2.1 文件的字符输入输出函数
1. 字符输对出文函本数文f件pu的tc读( )写(操或作pu,tc必( )须)按文件中
函数功能:
按指定的文件使用方式打开指定的文件。 若文件打开成功,为该文件分配一个文件缓冲区和一个 FILE类型变量,返回一个FILE类型指针; 若文件打开失败,返回NULL。
4/1/2020
10.1 文件的概述
13
10.1.2 文件的打开与关闭
文本文件的三种基本使用方式 ”r”:只读方式
为读(输入)文本文件打开文件。若文件不存在, 返回NULL。
char filename[40];
/* filename用于存放数据文件名 */
printf("filename: ");
/* 提示输入磁盘文件名 */
gets(filename);
测试打开文件
if ((fp=fopen(filename,"w"))==NULL)
是否成功
{ printf("Can't open the %s\n", filename);
① 标准输入文件,文件指针为stdin,系统指定为 键盘。
② 标准输出文件,文件指针为stdout,系统指定为 显示器。
③ 标准错误输出文件,文件指针为stderr,系统指 定为显示器,输出错误信息。
4/1/2020
10.1 文件的概述

c十课程设计

c十课程设计

c 十课程设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编程思维和解决问题的能力,提高学生实际编程水平。

具体分解为以下三个目标:1.知识目标:学生能够理解并掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。

2.技能目标:学生能够熟练使用C语言进行程序设计,具备独立分析和解决问题的能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,增强学生的自信心和自主学习能力。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。

具体安排如下:1.第一章:C语言概述,介绍了C语言的发展历程、特点和基本语法。

2.第二章:数据类型和运算符,讲解了C语言中的基本数据类型、运算符及其使用方法。

3.第三章:控制结构,介绍了条件语句、循环语句及其应用。

4.第四章:函数,讲解了函数的定义、声明、调用以及常用库函数。

5.第五章:数组和字符串,介绍了数组的基本概念、操作及其应用,字符串的基本概念和操作。

6.第六章:指针,讲解了指针的概念、运算及其应用。

7.第七章:结构体、共用体和枚举,介绍了结构体、共用体和枚举的概念及其应用。

8.第八章:文件操作,讲解了文件的概念、文件操作函数及其应用。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。

具体包括:1.讲授法:通过讲解、演示和举例,使学生掌握C语言的基本知识和编程技巧。

2.讨论法:学生进行小组讨论,培养学生的合作精神和问题解决能力。

3.案例分析法:通过分析实际案例,使学生更好地理解C语言的应用场景和编程方法。

4.实验法:安排学生进行上机实验,巩固所学知识,提高实际编程能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C Primer Plus》。

2.参考书:《C语言程序设计教程》、《C语言编程实例解析》。

C++程序设计课程设计任务书(10)

C++程序设计课程设计任务书(10)

C++程序设计课程设计任务书(10)C++程序设计课程设计任务书盐城工学院信息学院2012年6月C++程序设计课程设计任务书一、课程设计目的1、巩固并加深学生对C++语言程序设计知识的理解;2、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;3、进一步掌握和应用VC++ 6.0集成开发环境;4、提高运用C++语言解决实际问题的能力;5、初步掌握开发小型实用软件的基本方法,能独立设计、实现具有实际功能的小系统;6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。

二、课程设计要求1、根据分组情况对规定的课程设计题目要求进行分析、设计;2、利用Visual C++独立编写程序代码,并调试程序使其能正确运行;3、源程序要有适当的注释,使程序容易阅读;4、设计完成的软件要便于操作和使用,采用模块化设计方法,可以根据实际情况选择SDI、MDI或Dialog-Based方式实现系统;5、要求系统的用户界面尽量简单、合理,鼓励学生自动增加新功能模块(视情况可另行加分);6、完成并提交课程设计报告,具体要求见相关说明文档。

三、课程设计内容每个学生根据分组情况,从教师提供的课程设计题目中选择题目,独立完成,不可任意更换题目。

1、第一组课题名称:工资管理系统说明:一个员工工资管理程序,有新建、存储、显示、修改和删除的功能。

要求:1) 利用工号区别员工身份,工号用字符数组的形式,从000001开始编号,该工号不能人工修改,是由计算机自动根据录入的先后复制的,录入数据时不必输入工号。

2) 可以选择现实的多种排序形式,如按姓名的顺序、工资总额的顺序、职务工资或奖金的顺序。

3) 每次显示时,将所有要显示数据的工资总额、职务工资总额、奖金总额一起计算显示。

4) 可以根据工号或姓名修改、删除数据,在修改、删除时现要求用户确认,确认后再进行操作。

2、第二组课题名称:三子连珠游戏说明:模仿五子棋的形式,有一方三子连成一线即获胜。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
星期一
星期二
星期三
星期四
星期五
星期六
星期日
1
2
3
4
5
6
7
8
910Βιβλιοθήκη 111213
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
教学
后记
初始化对象成员:
在构造函数的参数列表后面用冒号引出构造函数的调用表初始化对象数据成员。
class Point
{
int x,y;
public:
Point(int ix, int iy)
{
x = ix;
y = iy;
}
};
class MyCircle
{
Pointcenter;
double radius;
}
};
int main()
{
Point p1(12,34),p2;
p1.print();
p2.print();
}
默认构造函数:系统提供了一个默认的无参数的构造函数。若自己提供了无参数的构造函数或其它形式的构造函数,则系统不再提供默认构造函数。上例中若不提供无参数构造函数,则Point p2;将出错。
析构函数没有返回值,也没有参数。通常是释放类中数据成员指针所指的内存空间。析构函数是唯一的,没有重载形式。
析构函数在对象生命期结束的瞬间由系统自动调用,不通过显示调用语句。
三、课堂实践
1.教材P323之练习1。
四、小结
授课
重点
难点
教学重点:构造函数,构造函数的重载,构造函数初始化数据成员,析构函数
教学难点:构造函数初始化数据成员
课时教案
周次
第5周第2次课
课题
对象
授课类型
理论课(√)、实践课(√)、实习()
时间设计









一、构造函数
构造函数用于创建一个类的对象(实例),同时在构造函数中对数据成员进行初始化。
构造函数的特点:
函数名称与类名相同;没有返回值(没有数据类型);可以重载。
程序范例:
定义一个二维平面上的点类Point,由坐标x和y构成一个点。定义这个类,将点初始化为(0,0)。
public:
MyCircle(double r)
{//不正确的初始化
Pointcenter(0,0);
radius = r;
}
};
//正确方式
#include <iostream>
#include <string>
using namespace std;
class Point
{
int x,y;
public:
MyCircle(double r):center(0,0)
{
radius = r;
}
void print()
{
center.print();
cout<<“Radius =”<<radius<<endl;
}
};
int main()
{
MyCircle c(2);
c.print();
}
常量和引用成员的初始化:
}
};
int main()
{
Point p;
p.print();
}
也可以指定坐标值初始化:
class Point
{
int x,y;
public:
Point(int ix, int iy)
{
x = ix;
y = iy;
}
void print()
{
cout<<"("<<x<<","<<y<<")";
}
};
课堂讨论、思考题、作业
课堂实践:
1.教材P323之练习1。
上机作业:
1.上机实验(设计性实验,要求提交实验报告)
请设计一个日期类Date和一个星期类Week。在日期类中能根据给定的日期输出是星期几;能输出某年的某个月份的所有日期,并且按照从星期一到星期日的顺序进行排列。试着用程序代码实现这个应用,要有相应的数据成员、成员函数和构造函数。如2011年10月
Point()
{
x = 0;
y = 0;
}
Point(int ix, int iy)
{
x = ix;
y = iy;
}
void print()
{
cout<<"("<<x<<","<<y<<")"<<endl;
}
};
class MyCircle
{
Pointcenter;
double radius
public:
//C0901.CPP
#include <iostream>
#include <string>
using namespace std;
class Point
{
int x,y;
public:
Point()
{
x = 0;
y = 0;
}
void print()
{
cout<<"("<<x<<","<<y<<")";
在构造函数中不能完成常量成员和引用成员的初始化。静态数据,只能在外部初始化(int MyCircle::i = 10;),静态函数只能处理静态数据成员。常量和引用成员在构造函数初始化时进行,在初始化列表(即构造函数参数列表后加冒号引出的列表)中进行。
二、析构函数
析构函数用于释放内存,在对象失效前完成善后工作。函数名称是在构造函数名称前加上~。通常需要定义拷贝构造函数的类需要定义析构函数,否则无需定义析构函数。故析构函数与拷贝构造函数是成对出现的。
int main()
{
Point p(12,34);
p.print();
}
构造函数还可以重载:
class Point
{
int x,y;
public:
Point()
{
x = 0;
y = 0;
}
Point(int ix, int iy)
{
x = ix;
y = iy;
}
void print()
{
cout<<"("<<x<<","<<y<<")"<<endl;
相关文档
最新文档