#include #include using namespace std; class Car { private: string Pingpai; string Xinghao; int Year; int Price; public: 1 void set() { cout<<\"shu ru xiang guan xin xi\"< cin>>Pingpai; cout<<\"xinghao:\"; cin>>Xinghao; cout<<\"chuchangnianfen:\"; cin>>Year; cout<<\"jiage:\"; cin>>Price; } void show() 2 { cout<<\"pingpai:\"< }; int main() { Car car; car.set (); car.show (); return 0; 3 } (2)设计一个学生类Student,拥有的数据成员是学号、姓名、电话号码、所属院系,成员函数包括访问和修改这些属性,在main()中定义对象,并输出相关信息 #include #include using namespace std; class Student //学号、姓名、电话号码、所属院系,成员函数包括访问和修改这些属性 { private: string xuehao; string name; string tel; string department; 4 public: Student(string x,string n,string t,string d) { xuehao=x; name=n; tel=t; department=d; } void change(string x,string n,string t,string d)//修改属性 { xuehao=x; name=n; tel=t; 5 department=d; } void display() { cout<<\"xuehao=\"< }; int main() { string a,b,c,d; 6 cin>>a; cin>>b; cin>>c; cin>>d; Student s(a,b,c,d); s.display(); return 0; } (3)设计一个学生类,包含学生呢个姓名、成绩(char *name;double score),设计一个友元函数,比较学生成绩的高低,并求出下一组学生:{Stu(\"zhang\"),78,Stu(\"wang\}中的最高分和最低分…… #include #include using namespace std; 7 class student { private: char *name; double score; public: student() { } student(char *na,double sc) { name=na; score=sc; 8 } friend void order(student s[]); }; void order(student s[]) { student tmp; int i,j; for(j=0;j<3;j++) for(i=0;i<3-j;i++) if(s[i].score tmp=s[i]; s[i]=s[i+1]; 9 s[i+1]=tmp; } cout<<\"分数由高到低排列:\"; for(i=0;i<4;i++) cout< int main() { student s[4]={student(\"zhang\ order(s); } 10 (4)编写程序,定义机动车类Vehicle,包括的数据成员有出厂日期和售价并定义成员函数可以设置这些数据成员,再定义print()然后定义car类,增加乘客数量,truck类增加载重吨数....... #include #include using namespace std; class Vehicle { private: int year,month,day; int price; public: Vehicle() { 11 cout<<\"please input date: \"; cout<<\"year\"<<\ cin>>year; cin>>month; cin>>day; cout<<\"please input price:\"; cin>>price; cout<<\"Vehicle\"< virtual void print1() { cout<<\"date:\"< } }; class Car:public Vehicle { public: int amount; Car() { cout<<\"please input amount of passager: \"; cin>>amount; cout<<\"car\"< void print2() 13 { print1(); cout<<\"amount:\"< }; class Truck:public Vehicle { public: int ton; Truck() { cout<<\"please input ton:\"; cin>>ton; 14 cout<<\"truck\"< void print3() { print1(); cout<<\"ton:\"< }; int main() { Vehicle V1; V1.print1(); Car C1; 15 C1.print2(); Truck T1; T1.print3(); return 0; } (7-4)完整定义字符串类string,使用动态分配内存机制实现字符串存储,定义构造函数,析构函数,重载运算符“=”,\"+\ #include #include using namespace std; class String { public: String(); 16 String(char *t); String(String &t); ~String(); String operator=(String t); String operator+( String t); String operator +=(String t); void Show() { cout< } private: char *p; }; 17 String::String() { p = new char[1]; *p = '\\0'; } String::String(char *t) { p = new char[strlen(t)+1]; strcpy(p,t); } String::String(String &t) { p = new char[strlen(t.p)+1]; 18 strcpy(p,t.p); } String String::operator +(String t) { char *pt; pt = new char[strlen(p)+strlen(t.p)+1]; strcpy(pt,p); strcat(pt,t.p); String temp(pt); delete[]pt; return temp; } String String::operator +=(String t) 19 { char *i; i=new char[strlen(p)+1]; strcpy(i,p); delete[] p; p=new char[strlen(t.p)+strlen(p)+1]; strcpy(p,i); strcat(p,t.p); return *this; } String::~String() { delete[]p; 20 } String String::operator =(String t) { if(this == &t) return *this; delete[]p; p = new char[strlen(t.p)+1]; strcpy(p,t.p); return *this; } void main() { String s1(\"hello!\"); 21 String s2(\"when.\"); String s3; s3=s2+s1; s3+=s2; s2=s1; s3.Show(); s2.Show(); } (8-4)根据程序定义一个求3个数之间最大值的函数模板max。 #include #include template { 22 return (a>b?a:b)>c?(a>b?a:b):c; } int main() { cout< } (5)有一个学生类student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60!69:及格;小于60:不及格。 #include #include 23 class student { char name[10]; int deg; public: student(char na[],int d) { strcpy(name,na); deg=d; } friend void trans(student &s) { if(s.deg>=90) 24 cout< cout< cout< cout< void main() { \"<<\"中\"< cout<<\"输出结果:\"< trans(st[i]); } (6)编写一个程序,设计一个Point类,包括学号、姓名和成绩等私有数据成员,不含任何成员函数,只将main()设置为该类的友元函数。 #include class point { int no; char name[10]; 26 int deg; public: friend void main(); }; void main() { point p; cout<<\"输入学号:\"; cin>>p.no; cout<<\"姓名:\"; cin>>p.name; cout<<\"成绩:\"; cin>>p.deg; 27 cout<<\"输出结果\"< (7)创建一个学生类,包括学号和成绩,编程输入和显示学生信息,建立一个人类,包括姓名,性别,年龄,并作为学生的基类. #include class Person { char name[10]; char sex; int age; public: 28 void input() { cout<<\"请输入姓名:\"; cin>>name; cout<<\"请输入性别:\"; cin>>sex; cout<<\"请输入年龄:\"; cin>>age; } void display() { cout<<\"姓名:\"< 29 }; class Student:public Person { char sno[10]; int score; public: void input() { Person::input(); cout<<\"请输入学号:\"; cin>>sno; cout<<\"请输入成绩:\"; cin>>score; 30 } void display() { Person::display(); cout<<\"学号;\"< }; void main() { Student s1; s1.input(); s1.display(); } 31 (8)按要求编程: 某学校教授和讲师的月工资计算办法规定如下: 教授每月固定工资为4000元。 讲师每月工资与讲课学时数有关,计算方法是每学时50元,另加补助1000元。 编程显示某个教员的月工资数目。 #include class Teacher { public: virtual int Salary()=0; virtual void Print(int)=0; }; class Professor:public Teacher 32 { private: char name[20]; int lessons; public: Professor() { cout<<\"请输入姓名:\"; cin>>name; //字符串中不能有空格 } int Salary() { return 4000; 33 } void Print(int money) { cout<<\"职称:教授 姓名:\"< }; class Lecturer:public Teacher { private: char name[20]; int lessons; public: Lecturer() 34 { cout<<\"请输入姓名:\"; cin>>name; cout<<\"请输入课时:\"; cin>>lessons; } int Salary() { return (1000+lessons*50); } void Print(int money) { cout<<\"职称:讲师 姓名:\"< } }; void main() { int money=0; Professor t; money = t.Salary(); t.Print(money); Lecturer l; money = l.Salary(); l.Print(money); } (9)1.给定一个int型数n,编程实现按不同进制输出,包括十进制数、八进制数、十六进制数。要求使用纯虚函数print()。十进制数 (dec) 十六进制数(hex)八进制 36 数(oct) #include #include int main() { char ch[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}, output[20]; int input,temp,n,i=0; cout<<\"请输入你想要转换的十进制数:\"; cin>>input; cout<<\"请输入要转换的进制(2<=n<=16):\"; cin>>n; input=fabs(input); while(input) 37 { temp=input%n; input=input/n; output[i++]=ch[temp]; } output[i]='\\0'; cout<<\"转换为\"< cout<{cout<<\"最高分:\"<cout<<\"最低分:\"<}