C++语言基础 例程 类和对象的简单应用举例

来源:互联网 发布:有关人工智能的文献 编辑:程序博客网 时间:2024/05/22 08:12

贺老师的教学链接  本课讲解



实例1:求出三角形的周长和面积

#include<iostream>#include<Cmath>#include<cstdlib>using namespace std;class Triangle{public:    void setABC(double x, double y, double z);//置三边的值,注意要能成三角形    double perimeter();//计算三角形的周长    double area();//计算并返回三角形的面积private:    double a,b,c; //三边为私有成员数据};int main(){    Triangle tri1;    //定义三角形类的一个实例(对象)    double x, y, z;    cin>>x>>y>>z;    tri1.setABC(x, y, z);    //为三边置初值    cout<<"三角形的周长为:"<< tri1.perimeter()<<",面积为:"<< tri1.area()<<endl;    return 0;}//在下面定义Triangle类中的各个成员函数void Triangle::setABC(double x, double y, double z){    if(x+y>z&&x+z>y&&y+z>x)    {        a=x;        b=y;        c=z;    }    else    {        cout<<"不能构成三角形"<<endl;        exit(0);    }}double Triangle::perimeter(){    return a+b+c;}double Triangle::area(){    double p=(a+b+c)/2;    return sqrt(p*(p-a)*(p-b)*(p-c));}


实例2:学生信息及成绩处理
#include<iostream>#include<cstring>using namespace std;class Stu{private:    int no; //学生学号    char name[20];    //学生姓名    double score[3];  //课程成绩public:    double average( );//计算平均成绩    double sum( );    //计算总分    void show( );    //打印信息    void setStudent(int, char*);//输入学生学号、姓名    void inputScore();};double Stu::average( ){    return sum()/3;}//平均成绩double Stu::sum( ){    return score[0]+score[1]+score[2];}        //总分void Stu::show( )    //打印信息{    cout<<"No.: "<<no<<", Name: "<<name<<endl;    cout<<"Score: "<<score[0]<<", "<<score[1]<<", "<<score[2]<<endl;    cout<<"average: "<<average()<<'\t'<<"Sum: "<<sum()<<endl<<endl;}void Stu::setStudent(int n, char *nam){    no = n;  //置学号    strcpy(name,nam);    //置姓名}void Stu::inputScore(){    int i;    cout<<"please input score of "<<name<<": ";    for(i=0;i<3;i++)        cin>>score[i];}int main( ){    Stu s1,*p2;    s1.setStudent(30, "Li qing");    s1.inputScore();    s1.show();    p2 = new Stu;    p2->setStudent(28, "Wang Gang"); //对象置初值    p2->inputScore();    p2->show();    return 0;}


0 0
原创粉丝点击