类代码_林学_农林牧渔_专业资料

上传人:ss****gk 文档编号:235611463 上传时间:2022-01-06 格式:DOC 页数:7 大小:62KB
返回 下载 相关 举报
类代码_林学_农林牧渔_专业资料_第1页
第1页 / 共7页
类代码_林学_农林牧渔_专业资料_第2页
第2页 / 共7页
类代码_林学_农林牧渔_专业资料_第3页
第3页 / 共7页
类代码_林学_农林牧渔_专业资料_第4页
第4页 / 共7页
类代码_林学_农林牧渔_专业资料_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《类代码_林学_农林牧渔_专业资料》由会员分享,可在线阅读,更多相关《类代码_林学_农林牧渔_专业资料(7页珍藏版)》请在金锄头文库上搜索。

1、1、#include class dataint x;public:data(int x)data:x=x;coutnclass datanendl;J;class adata di;public:a(int x):dI (x)coutnclass aHendl;class b:public adata d2;public:b(int x):a(x),d2(x)coutHclass bMendl;J;class c:public bpublic:c(int x): b(x) cout Hclass cHendl;void main() cobj(5);运行结果是class data; clas

2、s a; class data: class b: class cc obj(5);是调用class c的构造函数c(int x),而在class c的构造函数中,c(int x)中的x用b(x)初始化(此时调用B 的构造函数)。class b的构造函数b(int x)中的X分别用a(x),d2(x)初始化。a(int x)是class a的构造函数,它用dl(x)初始化,而dl 是data型的。从class data可知,此时输tB class data。到这里,Class a的a(intx)中的x应该用这个dl初始化。这 样就输出了 class a, class a的a(int x)初始化

3、完毕。在class b构造函数的初始化列表中还有一个值,为d2(x),d2仍为data型,调JIJ class data的构造函数,即输出class data。 再用这个值初始化class b输出class b (class b中构造函数的初始化列表中有2个式,用逗号分隔,这两个式都会被 执行,但只有最右一个式会被用来为class b初始化,这是容易错的地方。)最后用class b构造出来的值初始化C2、#include #include using namespace std;/ 1 丄 丄丄丄丄.丄丄 /class Pointprivate:doublex,y;public:Point()

4、x=y=0;Point(double xx,doubleyy) x=xx;y=yy;)double distance(Point&p);double Point:distance(Point&p) x=p.x;y=py;relumsqr(x*x+y*y); void main(void)/* End*/double x=3, y=4;Point pO,pl(x,y);cout两点间的距离=pO.distance(pl )endl;Point()x=y=0;这旬是定义一个不带参数的构造函数Point(double xx,doubleyy)x=xx;y=yy; 这句是定义一个带两个double型参

5、数的构造函数。与普通函数重载类似,定义类的对象的时候,也会根据参数来选择这两种构造函数中的一个来初始化类的对彖。 如 Point A;会调用 Point()x=y=0;而 Point A(l.0,2.0)会调用 Point(double xx,doubleyy)x=xx;y=yy;)Point p0,pl(x,y);你这个语句,定义pO调用不带参的构造函数,定义pl调用带两个double型参数的构造函数。3要求创建一个类,输入若干个学生的数据,包括学号,姓名和三门课程的成绩#include #include using namespace std;#define MAX 100class St

6、udentprivate:stringnum;string name;double subject3J;double total;public:void input(Student s, int);void sort(Student s, int);void print(Student s, int);stuMAXJ;void Student:input(Student s, int n)for (int i = 0; i n; i+)cout ”输入第 i + 1 “个学生的学号:”;cin si.num;cout ”输入 i + 1 ”个学生的姓名:”;cin si.name;si.tot

7、al = 0;for (intj = 0;j3;j+)cout ”输入第” vv j + 1 “门课的成绩:”;cin si.subject|j;si.total += sfil.subjectfjl;coutendl;void Student:sort(Student s, int n)for (int i = 0; i n-1; i+)for (int j = i 4- 1; j n; j+) if (si.total sj.total) Studenttmp = si;si = sj;sj = tmp;void Student:print(Student s, int n)for (in

8、t i = 0; i n; i+)cout ”第“ vv i + 1 vv “名” vvendl;cout ”学号:” si.numendl;cout 姓名:u si.name endl;for (intj = 0;j0n);strcpy(number/,0,);strcpy(sex/,0n);strcpy(id/0n);howmanypeople+;people(char m,float w.char n,char sJnta,intb,intc,chari):weight(w),birthday(a,b,c)strcpy(id4);strcpy(name,m);strcpy(number,

9、n);strcpy(sex,s);howmanypeople+;people(char m,float w,char n,char s,date d.chari):weight(w),birthday(d)strcpy(idj);strcpy(name,m);strcpy(number,n);strcpy(sex,s);howmanypeople+;people() howmanypeople;setpeople();displaypeople();staticintgethowmanyOreturnhowmanypeople;int people:howmanypeople=0;people

10、: :displaypeople()cout ” 姓名:Mnameendl;cout编 号:Hnumberendl;coutn 体重:Mweightendl;cout 性别:Msexendl;coutM出生日期:”;birthday.displaydate();cout身份证号:vvidv vendl;people: :setpeople()coutM 姓名:“;cinname;cout编号:”;cinnumber;coutH 体重:;cinweight;coutM 性别(f/m):”;cinsex;coutH出生日期:”;birthday.setdate();cout身份证号(18位):;c

11、inid;id 18=,0,;class student: public peopleprotected:charclassno7;staticinthowmanystudent;public:student():people() strcpy(classno/ n);howmanystudent+;student(char cn5char m,float w.char n,char s,intajntb,intc,char i):people(m,w,n,s5a,b,c,i)strcpy(classno,cn);howmanystudent+; setclassno(char cn) str

12、cpy(classnocn”);setstudent() people:setpeople();coutB 级:”; cinclassno;) displaystud en t()people:displaypeople();coutH9E:,classnoendl; staticintgethow()returnhowmanystudent;);int student:howmanystudent=0; classteacher:virtual public people protected:charprincipalshipf 111;char department21;public: teacher():people()strcpy

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号