1 #include <iostream> 2 using namespace std; 3 class point 4 { 5 public: 6 point(); 7 point(double x0,double y0); 8 ~point(); 9 double getm() 10 { 11 return x*y; 12 } 13 private: 14 double x; 15 double y; 16 }; 17 point::point(){} 18 point::point(double x0,double y0):x(x0),y(y0) {cout<<"矩形面积为: "<<endl;} 19 point::~point(){} 20 int main() 21 { 22 double jlong,jshort; 23 cout<<"请输入矩形的长和宽 "<<endl; 24 cin>>jlong>>jshort; 25 point p1(jlong,jshort); 26 cout << p1.getm() << endl; 27 return 0; 28 }
不知是什么原因,对于某些数值,计算结果的精度相对于计算器总会缺少一位(四舍五入)
1 #include <iostream> 2 using namespace std; 3 class Complex 4 { 5 public: 6 Complex(); 7 Complex(double r0,double i0); 8 Complex(double r0); 9 ~Complex(); 10 void add(Complex &c)// 因为c2是Complex类,所以需要用Complex定义一个参数,不过是否用引用类型无关紧要 11 { 12 real+=c.real; 13 imaginary+=c.imaginary; 14 } 15 void show() 16 { 17 cout<<real<<(imaginary>0?‘+‘:‘-‘)<<imaginary<<"i"<<endl; 18 } 19 private: 20 double real; 21 double imaginary; 22 }; 23 Complex::Complex(){};//默认构造函数和析构函数在这个程序中并不是必需的(虽然编译时会自动添加缺省函数),但活用它们会起到意想不到的效果 24 Complex::Complex(double r0,double i0):real(r0),imaginary(i0){} 25 Complex::Complex(double r0):real(r0),imaginary(0){}//这里我认识到,形式不同仅仅表示不同的赋值方式,不需要因此取出变量单独赋值(实际上这也难以实现) 26 Complex::~Complex(){} 27 int main() 28 { 29 Complex c1(3,5); 30 Complex c2=4.5; 31 c2.add(c1); 32 c2.show(); 33 return 0; 34 }
上面两个程序的功能可以用非常简单的代码实现,但是通过实际编写可以知晓
类中的变量是无法直接使用的,这也是类最大的作用
这实现了实现与使用的分离,一定程度上也增强程序的安全性