2.设计一个名为Student的类,该类有以下几个私有数据成员:学生姓名、学号、性别和年龄,还有两个成员函数:一个用于设置学生姓名、学号、性别、年龄的赋值函数,一个用于输出学生信息的函数。编写主函数,创建一个Student对象,调用成员函数为对象的数据成员赋值,并在屏幕上输出学生信息。
#include<iostream> #include<string> using namespace std; class Student{ private: string name; int date; int age; char sex; public: void set(char *n,int d,int a,char s){ name=n; date=a; age=a; sex=s; } void output(){ cout<<"姓名:"<<name<< "\n学号:"<<date<<"\n性别:"<<sex<<"\n年龄:"<<age<<endl; } }; int main(){ Student stu1; stu1.set("张三",208000,18,'m'); stu1.output(); system("pause"); return 0; }
3.定义一个复数类Complex,实现如下功能。
(1)包含private数据成员:realPart(实部)和imagPart(虚部)。
(2)对下列情况提供public成员函数:
a. 设置各数据成员的值(set);
b.读取各数据成员的值(get);
c.两个complex值相加(sum):实数部分相加,虚数部分相加;
d.两个complex值相减(sub):实数部分相减,虚数部分相减;
e.打印输出形如(a,b)的Complex的值(print)。
(3)编写一个主函数,测试这个类。
#include<iostream> #include<string> using namespace std; class Complex{ private: int realPart; int imagPart; public: Complex(){ realPart=0; imagPart=0; } void set(int r,int i){ realPart=r; imagPart=i; } void get(){ realPart; imagPart; } Complex sum(Complex a){ a.realPart+=this->realPart; a.imagPart+=this->imagPart; return a; } Complex sub(Complex a){ a.realPart-=this->realPart; a.imagPart-=this->imagPart; return a; } void print() { cout<<'('<<realPart<<','<<imagPart<<')'<<endl; } }; int main(){ Complex c1,c2,c3,c4; c1.set(4,5); c2.set(2,6); c1.get(); c2.get(); c3=c2.sum(c1); c4=c2.sub(c1); c1.print(); c2.print(); c3.print(); c4.print(); system("pause"); return 0; }
5.定义一个三角形类Triangle,实现如下功能。
(1)包含private数据成员:三角形三边x,y,z。
(2)对下列情况提供public成员函数:
a. 构造函数:一个无参构造函数,将数据成员全部初始化为0;一个有参构造函数,根据参数初始化各数据成员;
b.设置各数据成员的值(set);
c.读取各数据成员的值(get);
d.计算三角形周长的函数(circumference);
e.计算三角形面积的函数(area);
f.打印输出三角形各项信息值的函数(print)。
(3)编写一个主函数,测试这个类。
#include<iostream> #include<cmath> using namespace std; class Triangle{ private: int x,y,z; public: Triangle(int a=0,int b=0,int c=0){ x=a; y=b; z=c; } void set(int a,int b,int c){ x=a; y=b; z=c; } void get(){ x; y; z; } int circumference(){ int sum; sum=x+y+z; return sum; } double area(){ double s=0, p=(x+y+z)/2; s=sqrt(p*(p-x)*(p-y)*(p-z)); return s; } void print(double s,int c){ cout<<"三边为:"<<x<<"\t"<<y<<"\t"<<z<<endl; cout<<"面积为:"<<s<<"\n周长为:"<<c<<endl; } }; int main(){ Triangle c1(3,4,5); c1.print(c1.area(),c1.circumference()); system("pause"); return 0;
6.定义一个类People,用于描述人的相关信息,实现如下功能。
(1)包含private数据成员:姓名name、年龄age、身高height、体重weight。
(2)对下列情况提供public成员函数:
a. 构造函数:一个无参构造函数,将数据成员name初始化为“none”,age、height、weight均初始化为0;一个有参构造函数,根据参数初始化各数据成员;
b.设置各数据成员的值(set);
c.读取各数据成员的值(get);
d.进食函数(eating):体重加1;
e.运动函数(sporting):身高加1;
f.睡眠函数(sleeping):年龄、身高、体重各加1;
g.输出显示人各项信息值的函数(disp)。
(3)编写一个主函数,测试这个类。
#include<iostream> #include<string> using namespace std; class People{ private: string name; int age; double height; double weight; public: People(){ name="none"; age=0; height=0; weight=0; } People(char *n,int a,double h,double w){ name=n; age=a; height=h; weight=w; } void set(char *n="none",int a=0,double h=0,double w=0){ name=n; age=a; height=h; weight=w; } void get(){ name; age; height; weight; } void eating(){ ++height; } void sporting(){ ++weight; } void sleeping(){ ++age; ++height; ++weight; } void porint(){ cout<<"姓名:"<<name<< "\n年龄:"<<age<<"\n身高:"<<height<<"\n体重:"<<weight<<endl; } }; int main(){ People c1("张三",18,175,60),c2; c1.porint(); cout<<endl; c2.porint(); c1.eating(); cout<<"\n进食后:"<<endl; c1.porint(); c1.sporting(); cout<<"\n运动后:"<<endl; c1.porint(); c1.sleeping(); cout<<"\n睡眠后:"<<endl; c1.porint(); system("pause"); return 0; }