周二(作业节选)
#include<iostream> using namespace std; class CPolygon{ protected: int width,height; public: void set_values(int a,int b) {width=a;height=b;} }; class CRectangle:public CPolygon{ public: int area() {return(width*height);} }; class CTriangle:public CPolygon{ public: int area() {return(width*height/2);} }; int main(){ CRectangle rect; CTriangle trgl; rect.set_values(4,5); trgl.set_values(4,5); cout<<rect.area()<<endl; cout<<trgl.area()<<endl; return 0; }
//Complex.h #pragma once #include<iostream> using namespace std; class Complex { public: Complex(double real=0.0,double image=0.0) {this->real=real,this->image=image; } ~Complex(void); void display(); Complex operator+(Complex B); private: double real; double image; }; //Complex.cpp #include"Complex.h" Complex::~Complex(void){} void Complex::display(){ cout<<real; if(image>0) cout<<"+"; cout<<image<<"i"; } Complex Complex::operator+(Complex B){ return Complex(this->real+B.real,this->image+B.image); } //main.cpp #include"Complex.h" void main() { Complex A(1.0,2.0),B(3.0,4.0),C; cout<<"Complex A:"; A.display(); cout<<endl; cout<<"Complex B:"; B.display(); cout<<endl; C=A+B; cout<<"Complex A+B:"; C.display(); cout<<endl; }