实验6
//base.h #ifndef _BASE_H #define _BASE_H #include<iostream> using namespace std; class base { public: base(int a, int b) { m = a; n = b; }; void show() { cout << m + n << endl; } int getm() { return m; } int getn() { return n; } private: int m; int n; }; #endif
//A.h #ifndef _A_H #define _A_h #include "base.h" #include <iostream> using namespace std; class A : public base { public: A(int m, int n):base(m,n) { show(); cout << m - n << endl; } }; #endif
//B.h #ifndef _B_H #define _B_H #include "base.h" #include <iostream> using namespace std; class B : public base { public: B(int m, int n) :base(m, n) { show(); cout << m * n << endl; } }; #endif
//B.h #ifndef _B_H #define _B_H #include "base.h" #include <iostream> using namespace std; class B : public base { public: B(int m, int n) :base(m, n) { show(); cout << m * n << endl; } }; #endif
//main.cpp #include "stdafx.h" #include <iostream> #include "A.h" #include "B.h" #include "C.h" #include "base.h" using namespace std; int main() { A a(6,3); B b(6,3); C c(6,3); return 0; }
//vehicle.h #ifndef _VEHICLE_H #define _VEHICLE_H #include<iostream> using namespace std; class vehicle { public: vehicle() { maxspeed = 1; weight = 1; }; void run() { cout << "run" << endl; }; void stop() { cout << "stop" << endl; }; ~vehicle() { cout << "析构1" << endl;} private: int maxspeed, weight; }; class bicycle: virtual public vehicle { public: bicycle() { height = 10; } ~bicycle() { cout << "析构2" << endl; } private: int height; }; class motocar : virtual public vehicle { public: motocar() { seatnum = 40; } ~motocar() { cout << "析构3" << endl; } private: int seatnum; }; class motocycle : public motocar, public bicycle { public: motocycle() { cout << "motocyle的构造函数" << endl; } ~motocycle() { cout << "析构4" << endl; } }; #endif
//main.cpp
#include "stdafx.h"
#include <iostream>
#include "vehicle.h"
using namespace std;
int main()
{
motocycle a;
a.run();
a.stop();
return 0;
}