C++作业79文档格式.docx

上传人:b****3 文档编号:14363949 上传时间:2022-10-22 格式:DOCX 页数:23 大小:186.69KB
下载 相关 举报
C++作业79文档格式.docx_第1页
第1页 / 共23页
C++作业79文档格式.docx_第2页
第2页 / 共23页
C++作业79文档格式.docx_第3页
第3页 / 共23页
C++作业79文档格式.docx_第4页
第4页 / 共23页
C++作业79文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C++作业79文档格式.docx

《C++作业79文档格式.docx》由会员分享,可在线阅读,更多相关《C++作业79文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

C++作业79文档格式.docx

2.定义一个由y=ax+b确定的直线类Line,该类的构造函数初始化直线,成员函数Print显示该直线方程,友元函数SetPoint()求解两条直线的交点。

3.下列程序是有关友元类的,程序中将A类声明为B类的友元类,A类中所有的成员函数都是B类的友元函数,请给程序填空。

#inlcude<

iostream.h>

classB;

classA

{

private:

intx;

public:

A(intxx){x=xx;

}

intSet(B&

);

intGet(){returnx;

};

classB

B(intxx){①}

friend②

};

intA:

:

Set(③)

{returnx=b.x;

voidmain()

{Aa(10);

Bb(20);

cout<

<

a.Get()<

endl;

a.Set(b);

}

三、实验步骤

1.运用学过的知识,实验前在纸上写出程序。

2.根据程序要求,先定义类,包括其数据成员和成员函数。

3.分析使用的是友元类还是友元函数,通过友元要处理哪些问题。

4.在主函数中完成相应的功能。

5.上机编辑、编译、调试和运行,并修改错误。

四、实验报告

1.写出实验目的。

2.写出实验内容和程序清单。

3.说明对编程分析、运行结果、难点、解决方法、结论和编程体会。

二.实验内容

1.#include<

classVector

{

public:

Vector(doublem=0,doublen=0)

x=m;

y=n;

voiddisplay()

cout<

"

("

x<

"

y<

)"

friendVectoroperator+(Vector&

a,Vector&

b)

Vectort;

t.x=a.x+b.x;

t.y=a.y+b.y;

returnt;

friendVectoroperator-(Vector&

t.x=a.x-b.x;

t.y=a.y-b.y;

~Vector()

{}

private:

doublex,y;

Vectora1(6,8),a2(9,5),a3,a4;

向量a1="

;

a1.display();

向量a2="

a2.display();

a3=a1+a2;

a1+a2="

a3.display();

a4=a1-a2;

a1-a2="

a4.display();

2.

#include<

iostream>

usingnamespacestd;

classLine

Line(doublem=0,doublen=0)

a=m;

b=n;

voidprint()

直线y="

a<

x+"

b<

voidfriendsetpoint(Line&

L1,Line&

L2)

doublex,y;

if(L1.a==L2.a)

cout<

两直线平行,无交点"

else

{

x=(L1.b-L2.b)/(L2.a-L1.a);

y=L1.a*x+L1.b;

两直线交点为("

}

~Line(){}

doublea,b;

LineL1(4,6),L2(9,8);

L1.print();

L2.print();

setpoint(L1,L2);

3.#include<

B(intxx){x=xx;

friendclassA;

Set(B&

b)

个人总结:

本次实验目的主要是熟悉使用友元编程,在第一个程序中使用了两个友元函(friendVectoroperator+(Vector&

b)和friendVectoroperator-(Vector&

b))数进行对向量的运算,从而实现了向量之间的加减运算,通过主函数赋值,得出运算结果。

第二个程序主要实现的是求不同的两二维直线是否相交,若相交求交点的运算,通过友元函数(voidfriendsetpoint(Line&

L2))对保护成员的调用,实现了函数功能,最后一个程序是利用友元类来实现函数功能。

实验题目

实验八继承和派生的编程

实验室

9302机房

实验时间

2015年月日

1.了解继承在面向对象程序设计中的重要作用。

2.理解继承与派生的概念,掌握单继承和多继承的定义方法。

3.熟悉公有派生和私有派生的访问特性。

4.掌握继承中基类和派生类的构造函数定义和调用过程。

5.了解虚基类的作用和用法,会使用虚基类,学习虚基类在解决二义性问题中的作用。

1.有以下程序,请完成下面的工作:

(1)阅读程序,写出运行后的输出结果;

(2)然后上机运行,验证结果是否正确;

(3)分析程序执行过程,尤其是调用构造函数和析构函数的过程。

#include<

classA

{public:

A(){cout<

“constructingA”<

~A(){cout<

“destructingA”<

classB:

publicA

B(){cout<

“constructingB”<

~B(){cout<

“destructingB”<

classC:

publicB

C(){cout<

“constructingC”<

~C(){cout<

“destructingC”<

{Cc1;

2.事先编写好程序:

分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部),要求:

(1)在两个基类中都包含有姓名、年龄、性别、地址、电话等数据成员;

(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资);

(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域;

(4)在类体中声明成员函数,在类外定义成员函数;

(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、地址、电话,然后再用cout语句输出职务和工资。

2.根据程序要求,分析用到几个类,哪些是基类,哪些是派生类,采用何种继承方式。

3.先设计基类,再设计派生类,派生类成员函数应该处理哪些数据。

4.在主函数中创建对象,创建基类对象还是派生类对象时,通过对象调用哪些成员函数。

注意:

基类和派生类的构造函数和析构函数的执行顺序。

3.写出编程思路和类层次图,体会基类与派生类的关系。

4.说明对编程分析、运行结果、难点、解决方法、结论和编程体会。

1.

string>

classteacher

teacher(stringnam,inta,chars,stringad,stringtele,stringt):

name(nam),age(a),sex(s),address(ad),telephone(tele),title(t){}

voiddisplay();

protected:

stringname;

intage;

charsex;

stringaddress;

stringtelephone;

stringtitle;

voidteacher:

display()

姓名:

teacher:

name<

年龄:

age<

性别:

sex<

地址:

address<

电话:

telephone<

职称:

title<

classcadre

cadre(stringnam,inta,chars,stringad,stringtele,strin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1