实例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; }
时间: 2024-09-30 16:26:15