北邮自考C++程序设计(实践)考试题目和答案
上机摄像头考试
1、题目一答案
#include <iostream>
using namespace std;
class Complex
{
public:
float real,imag;
public:
Complex();
Complex(float r,float i){real=r;imag=i;}
Complex operator +(Complex &x)
{
Complex y;
y.real=real+x.real;
y.imag=imag+x.imag;
return y;
};
};
Complex::Complex(){real=0,imag=0;}
int main(int args, const char * argv[]) {
Complex c1(1,2),c2(3,4);
cout << (c1+c2).real << endl; // 输出结果为4
return 0;
}
2、题目二答案
#include <iostream>
using namespace std;
// const double PI = 3.14159; 本题不需要
class Shapes // 抽象类
{
protected:
int x ,y;
public:
void setvaule(int d,int w=0){x=d;y=w;}
virtual int area() = 0;
};
class Circle:public Shapes{
public:
int r;
public:
Circle(int t = 0){ // 构造函数
r = t;
}
int area(){
return r*r;
}
};
class Triangle:public Shapes{
public:
int a,b,c;
Circle circle;
public:
Triangle(int x,int y,int z, int w){ //构造函数
a = x;
b = y;
c = z;
circle = w;
}
int area(){
return a*b*c;
}
};
int main() {
Circle c = Circle(2);
Triangle t = Triangle(1,2,3,4);
cout << c.area()+ t.area() + t.circle.area() << endl; //输出结果 26
}
按照这个提交的答案;不足之处请谅解