C++习题1,2

习题一

题目一

综合题1.编写一个程序设计一个汽车类vehicle,包含的数据成员有车轮个数wheels和车重weight。小车类car是它的私有派生类,其中包含载人数pasenger_load。卡车类truck是vehicle的私有派生类,其中包含载人数passenger_load和载重量payload,每个类都有相关数据的输出方法。

提示:该题主要测试单继承的实现,在程序实现时,vehicle类是基类,由它派生出car和truck类。由于car和truck类都有车轮个数wheels和车重weight这两个公共属性,因此将公共属性和方法放在vehicle类中,其他具体属性放在各自派生类中。

#include 
using namespace std;

class vehicle{
  private:
  int wheels;
  int weights;
  public:
  vehicle(int m,int n){
  wheels = m;
  weights = n;
  }
  ~vehicle(){
    cout << "The vehicle destruc called"<

题目二

要求:编写一个程序,输入N个学生数据,包括学号,姓名,成绩,要求输出这些学生数据并计算平均分

提示:设计一个学生类Stud,除了包括no(学号),name(姓名)和deg(成绩)数据成员外,有两个静态成员sum和num,分别存放总分和人数,别有两个普通成员函数setdata()和disp(),分别用于给数据成员赋值和输出数据成员的值,另有一个静态成员函数avg(),用于计算平均分,在main()函数中定义一个对象数组用于存储输入的学生数据。

#include
using namespace std;
#include

class stud
{
  private:
  int no,deg;
  char name[];
  static int sum;
  static int num;
  public:
  void setdata(int n,char na[],int s)
  {
    no = n;
    strcpy(name,na);
    deg = s;
    num++;
    sum+=s;
  }
  static double avg()
  {
    return sum/num;
  }
  void disp()
  {
    cout << no<< " " << name <<" "<< deg << endl;
  }
};
int stud::sum = 0;
int stud::num = 0;
int main()
{
  stud s1,s2;
  s1.setdata(1,"yi",80);
  s2.setdata(2,"er",90);
  s1.disp();
  s2.disp();
  int s = stud::avg();
  cout << s << endl;
}

你可能感兴趣的:(C++)