收藏 分享(赏)

C练习题.txt

上传人:Marleyazariah 文档编号:21759294 上传时间:2024-04-22 格式:TXT 页数:19 大小:17.56KB
下载 相关 举报
C练习题.txt_第1页
第1页 / 共19页
C练习题.txt_第2页
第2页 / 共19页
C练习题.txt_第3页
第3页 / 共19页
C练习题.txt_第4页
第4页 / 共19页
C练习题.txt_第5页
第5页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、=6 #include class Sample int n; public: Sample() Sample(int i)n=i; Sample &operator =(Sample); void disp()coutn=nendl; ; Sample &Sample:operator=(Sample s) Sample:n=s.n; return *this; void main() Sample s1(10),s2; s2=s1; s2.disp(); 7 #include class Sample int n; public: Sample(int i)n=i; operator+()

2、n+; operator+(int)n+=2; void disp() coutn=nendl; ; void main() Sample A(2),B(2); A+; +B; A.disp(); B.disp(); 8 #include class Sample int A1010; public: int &operator()(int,int); ; int &Sample:operator()(int x,int y) return Axy; void main() Sample a; int i,j; for(i=0;i10;i+) for(j=0;j10;j+) a(i,j)=i+

3、j; for(i=0;i10;i+) couta(i,1) ; coutendl; 9Point Point6()10 #include class Sample int n; public: Sample() Sample(int i)n=i; friend Sample operator-(Sample &,Sample &); friend Sample operator+(Sample &,Sample &); void disp()coutn=nendl; ; Sample operator-(Sample &s1,Sample &s2) int m=s1.n-s2.n; retur

4、n Sample(m); Sample operator+(Sample &s1,Sample &s2) int m=s1.n+s2.n; return Sample(m); void main() Sample s1(10),s2(20),s3; s3=s2-s1; s3.disp(); s3=s2+s1; s3.disp(); 11Triangle+ Triangleoperator+(Triangle t1,Triangle t2)+t1t21211+ 113:s=t1+t2+t3t1+t2doubledouble+t3+friend double operator+(double d,

5、Triangle t) 13student,+14coutd;/dDataclass Data int a,b; char *c;public:Data(int x, int y, char z);Data();15 String16personshow()personclass personpublic:person(char* s);void show();char* getname();private:char* name;=6(=)operator= n=10 =7+operator+()operator+(int)A+B n=4 n=3 =8a,a(i,j)a.Aij 1 2 3 4

6、 5 6 7 8 9 10 =9#include class Point int x,y; public: Point()x=y=0; Point(int i,int j)x=i;y=j; Point(Point &); Point() void offset(int,int); / void offset(Point); / Point bool operator=(Point); / bool operator!=(Point); / void operator+=(Point); / void operator-=(Point); / Point& operator+(Point); /

7、 Point& operator-(Point); / int getx()return x; int gety()return y; void disp() cout(x,y)x+=p.x; this-y+=p.y; return *this; Point& Point:operator-(Point p) this-x-=p.x;this-y-=p.y; return *this; void main() Point p1(2,3),p2(3,4),p3(p2); cout1:; p3.disp(); p3.offset(10,10); cout2:; p3.disp(); cout3:(

8、p2=p3)endl; cout4:(p2!=p3)endl; p3+=p1; cout5:; p3.disp(); p3-=p2; cout6:; p3.disp(); p3=p1+p3; / p1+p3p1󸳸p3,p1=p3 cout7:; p3.disp(); p3=p1-p2; cout8:; p3.disp(); =10-+operator-operator+ n=10 / s2-s1 n=30 / s2+s1 =11#include #include class Triangle int x,y,z; double area; public: Triangle(i

9、nt i,int j,int k) double s; x=i;y=j;z=k; s=(x+y+z)/2.0; area=sqrt(s*(s-x)*(s-y)*(s-z); void disparea() coutArea=areaendl; friend double operator+(Triangle t1,Triangle t2) return t1.area+t2.area; ; void main() Triangle t1(3,4,5),t2(4,5,6); double s; coutt1:; t1.disparea(); coutt2:; t2.disparea(); s=t

10、1+t2; cout=sendl; =12#include #include class Triangle int x,y,z; double area; public: Triangle(int i,int j,int k) double s; x=i;y=j;z=k; s=(x+y+z)/2.0; area=sqrt(s*(s-x)*(s-y)*(s-z); void disparea() coutArea=areaendl; friend double operator+(Triangle t1,Triangle t2) return t1.area+t2.area; friend do

11、uble operator+(double d,Triangle t) return d+t.area; ; void main() Triangle t1(3,4,5),t2(4,5,6),t3(5,6,7),t4(6,7,8); double s; coutt1:; t1.disparea(); coutt2:; t2.disparea(); coutt3:; t3.disparea(); coutt4:; t4.disparea(); s=t1+t2+t3+t4; cout=sendl; =13#include #include #include class student char n

12、ame10; int deg1,deg2,deg3; public: student() student(char na,int d1,int d2,int d3) strcpy(name,na); deg1=d1;deg2=d2;deg3=d3; friend student operator+(student s1,student s2) static student st; st.deg1=s1.deg1+s2.deg1; st.deg2=s1.deg2+s2.deg2; st.deg3=s1.deg3+s2.deg3; return st; void disp() coutsetw(1

13、0)namesetw(5)deg1setw(5)deg2setw(5)deg3endl; friend void avg(student &s,int n) coutsetw(10)setw(5)s.deg1/nsetw(5)s.deg2/nsetw(5)s.deg3/nendl; ; void main() student s1(Li,78,82,86),s2(Zheng,75,62,89); student s3(Ma,89,87,95),s4(Xu,54,78,66),s; coutendl; s1.disp(); s2.disp(); s3.disp(); s4.disp(); s=s

14、1+s2+s3+s4; / avg(s,4); / =14#include #include #include using namespace std;class Data int a,b; char *c;public:Data(int x, int y, char z)a = x;b = y;c = new charstrlen(z)+1;strcpy(c,z);Data()delete c;friend ofstream& operator(ofstream& ofs, Data& d)coutd.a ;coutd.b ;coutd.c ;coutendl;return ofs;void

15、 main() Data d1(11,33,qqqqq); Data d2(22,55,kk); ofstream ofile; ofiled1d2;=15#include #include #include using namespace std;class String public:/ String( const char * = 0 );String( const String & );/ String();/ +String& operator+( const String & );String& operator+( const char * );/ =String& operat

16、or=( const String & );String& operator=( const char * );/ char& operator( int ) const;/ =bool operator=( const char * ) const;bool operator=( const String & ) const;/ friend ostream& operator= 0 & elem _size )return _string elem ;elsecout;exit(1);/ =bool String:operator=( const char* sobj) constint

17、a = strcmp(_string,sobj);if (0 = a) return true;elsereturn false;/ =bool String:operator=( const String& other) constint a = strcmp(_string,other._string);if (0 = a) return true;elsereturn false;/ ostream& operator( ostream &ofs, const String & s)couts._string;return ofs;void main()String s1(abc);St

18、ring s2=;s1 + s2;couts1;=16#include #include using namespace std;class personpublic:person(char* s)name = new charstrlen(s)+1;strcpy(name,s);void show()coutgetname();void show()coutgetname();/*person& operator*() return *ptr; /-person* operator-() return ptr; private:person* ptr;void main() person c

19、1(zhang li);person_ptr c1_ptr(c1);c1_ptr-show();=#include class A public: int a; ; class B: public Apublic:int b; class C: public Apublic: int c; class D:public B,public C public: int d; void main() D d; d.B:a=1; d.C:a=2; d.b = 3;d.c = 4;d.d = 5;coutsizeof(d)endl;cout*(int*)&d+0)endl;cout*(int*)&d+1

20、)endl;cout*(int*)&d+2)endl;cout*(int*)&d+3)endl;cout*(int*)&d+4)endl; 4 #include class A public: int n; ; class B:virtual public A; /virtualclass C:virtual public A; /virtualclass D:public B,public C int getn()return B:n; ; void main() D d; d.B:n=10; d.C:n=20; coutd.B:n,d.C:nendl; 5 baseleaderbaseen

21、gineerleaderengineerchairmanchairmanleaderengineerleaderengineerbasebase /7_8.cpp#include using namespace std;class B0/B0public:/int nV;void fun()coutMember of B0endl;class B1: virtual public B0/B0B1public:/int nV1;class B2: virtual public B0/B0B2public:/int nV2;class D1: public B1, public B2/D1publ

22、ic:/int nVd;void fund()coutMember of D1endl;void main()/D1 d1;/D1d1d1.nV = 1;/d1.nV1 = 2;d1.nV2 = 3;d1.nVd = 4;coutsizeof(d1)endl;cout*(int*)&d1+0)endl;cout*(int*)&d1+1)endl;cout*(int*)&d1+2)endl;cout*(int*)&d1+3)endl;cout*(int*)&d1+4)endl;cout*(int*)&d1+5)endl;/#include #include class base / char*

23、name;/ int age; / public: base(char na, int a)name=new charstrlen(na)+1; strcpy(name,na);age=a; base()delete name;char* getname() return name; int getage() return age; ; class leader:virtual public base / char *job;/ char *dep;/ public: leader(char na, int a, char jb, char dp): base(na,a) job=new ch

24、arstrlen(jb)+1; strcpy (job, jb);dep=new char strlen (dp) +1 ; strcpy (dep, dp); leader()delete job;delete dep;char *getjob() return job; char *getdep() return dep; ; class engineer:virtual public base / char *major; / char *prof; / public: engineer (char na, int a, char maj , char pf) :base(na, a)m

25、ajor=new charstrlen(maj)+1; strcpy (major,maj); prof=new charstrlen(pf)+1; strcpy (prof, pf); engineer()delete major;delete prof;char*getmajor() return major; char*getprof() return prof; ; class chairman:public leader,public engineer / public:chairman(char na, int a, char jb, char dp, char maj ,char pf):base(na, a),leader( na , a, jb , dp ),engineer ( na , a, maj , pf ) ; void main() chairman c(,42,);cout endl; cout c.getname() c.getage() c.getdep() c.getjob() endl; cout c.getprof() c.getmajor() endl;

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

当前位置:首页 > 教育专区 > 高中资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报