c++实验报告讲诉.doc
文本预览下载声明
课程实验报告
课程名称 班级 软件 实验日期 201.05.02 姓名 张敬增 学号 实验成绩 实验名称 实验 实
验
目
的
及
要
求
2:了解类的常数据成员与常成员函数
3:了解类的静态数据成员与静态成员函数
4:掌握构造函数的几种类型
5:掌握继承机制中派生类的构造函数和析构函数的执行顺序 实
验
环
境 10
软件环境:codeblocks 实
验
内
容 Class Product
{
public:
product(char *n,int p,int q); //构造函数
~product(); //析构函数
void buy(int money); //购买产品
void get()const; //显示剩余产品数量private:
char mane20[]; //产品名称
int price; //产品单价
int quantity; //剩余产品数量
}
2:编写一个程序,设计点point类,求两点之间的距离
3:定义一个Book(图书)类,该类定义中包括:
数据成员bookname(书名),price(价格)和number(数量)。
成员函数display()显示图书情况;borrow()将图书数量减一,并显示当前图书数量。
在main函数中要求建立一个图书对象并对该对象进行简单的显示借阅和归还管理
4:改造实验内容1的CMoney类,把其中的4个构造函数合并成一个构造函数。
5:定义一个MyString类实现两个字符串的相加要求定义类的数据成员为字符指针实现深拷贝函数
算
法
描
述
及
实
验
步
骤
类名: Product
构造函数product(char *n,int p,int q);
析构函数:~product();
Buy函数:void buy(int money);
get 函数:void get()const;
数据成员:
char mane20[]
int price
int quantity
2:
类名:Point
缺省构造函数:Point(){};
构造函数:void point(float a,float b);
友元函数:friend void Distance(Point x1,Point x2);
数据成员:
x
y
3:
类名:Book
构造函数:Book(char *n,float p,int a);
display函数:void display();
borrow函数:void borrow();
restore函数 :void restore();
数据成员:
bookname[20];
price;
number;
4:
类名:CMoney
构造函数;CMoney(int y,int j ,int f);
disp函数:void disp();
数据成员:
Yuan
Jiao
fen
5:
类名:MyString
构造函数:MyString(string* str1);
构造函数:MyString(MyString p);
set函数void set(string* str1);
友元函数:friend string combine(MyString s1,MyString s2);
disp函数void disp();
数据成员:
*str
调
试
过
程
及
实
验
结
果
2:
3:
4:
5:
总
结
在做第二题点的point类中,我遇到了一点麻烦,那就是:在此道题目中,我使用了友元函数,在类外实现的时候没有注意到友元函数不是类成员函数,不需要加类域限定符
错误形式void point::Distance(Point x1,Point x2)
正确形式void Distance(Point x1,Point x2);
此次试验的难点就是第五题深拷贝的问题深拷贝是要增加一个指针并且申请一个新的内存使新的指针指向新的内存但是在使用的时候遇到了困难定义的新指针在指向上出了问题遇到的另一个问题就是内存的释放使用new运算符分配动态内存但是使用delete释放内存时出了问题以及delete的使用格式
附
录
显示全部