天津理工大学C++期末考试

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

实验一

一、明确的概念:

(1)理解类和对象的概念;(具体见附一)

类是抽象的对象是具体的例如:你、我、他都是人那么你、我、他就是对象人就是类

(2)掌握类与对象的定义方法;

类的定义:

class 类名{ … /*定义这个类*/}; 员名或成员函数

不能通过外部直接访问(不声明访问属性时系统默认为私有)当出现对象名.成员(私有)时编译器报错

与private类似但protected属性的成员可以继承 private不能继承

(4)掌握构造函数和析构函数的含义与作用、定义方式和实现;

构造函数:为数据成员开辟存储空间

函数名必须与类名相同之前绝对不许说明返回值类型 void也不行

构造函数是随着对象的声明而调用的

例如:class

Student{Student(){cout<<”Hello.”<

Int main(void)

{cout<<”Hello.”<

Student A;

}

运行结果:Hello. <

int getx(){return x;}

int gety(){return y;}

private:

int x, y;

};

Coordinate::Coordinate(Coordinate &p){<

int main(){

Coordinate p3=p2;

cout<<"p3=("<<()<<","<<()<<")"<

}

(1)

记录程序的运行结果

(2)

将Coordinate 类中带有两个参数的构造函数进行修改,在函数体内增加如下语句:

cout<<”Constructor is called.”<

重新记录程序的运行结果,并解释输出结果。

(3)

按下列要求进行测试。

在主函数体内,添加如下语句: Coordinate p4;

错误原因:构造函数没有参数 构造函数为

Coordinate::Coordinate(int ,int)

Coordinate p5(2); 错误原因:参数数量不对

1.

根据注释语句的提示实现类Date 的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。 #include <> class Date{ public:

void printDate(); 下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试 该类设计的正确性。

#include

using namespace std;

分析:

1.题目中 Date 类的数据成员为day, month, year 且均为整型访问属性为私有 主函数中声明了testDay 对象

2.数据成员均为私有 则不能通过=<数值>

的方法来设置 题目中给出了 void setDay(int) void setMonth(int) 和void

class counter

{

public:

counter(int number=0) 定义一个类ClsName,要求该类设计如下:(1)该类有两个整型数据成员x和y;

(2)为该类重载三个不同的构造函数:分别为无参数、带一个参数和带两个参数的构造函数,要求在构造函数中输出必要的信息以示区别;

(3)设计2个成员函数用来读取数据成员x和y;

(4)设计2个成员函数用来设置数据成员x和y;

(5)设计1个成员函数用来在屏幕上打印输出数据成员x和y;

(6)在main()函数中用三个不同的构造函数创建3个对象,并使用所有的成员函数对这些对象进行必要的操作。

class ClsName

{

public:

int a,b;

ClsName(int a,int b){cout<<"Construct by two numbers."<

<

因为x,y 的访问属性为私有,不能由主函数直接访问

所以会设置读取函数专门负责返回相应的值 int gety(){return y;}

void setx(){cout<<"Change X:";cin>>x;}

void sety(){cout<<"Change Y:";cin>>y;}

void print(){cout<<"X="<

int x,y; (1)中要求的两个整型数据成员 };

int main() {

int a,b;

cout<<"Test1:Input with 2 numbers, now please input two numbers:"<>a;cin>>b; ClsName t1(a,b);

重载:函数名相同,参数的类型

不同或者个数不同、或者都不

同。 即根据带入参数的类型、

数量的不同,来实现不同的功能

();

();();

();

cout<<"\nTest2:Input with a numbers, now please input a number:";

cin>>a;

ClsName t2(a);

();

();();

();

cout<<"\nTest3:Without numbers";

ClsName t3;

();

();();

();

return 0;

相关文档
最新文档