• 实验3—初识类


     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 }

    上面两个程序的功能可以用非常简单的代码实现,但是通过实际编写可以知晓 
    类中的变量是无法直接使用的,这也是类最大的作用 
    这实现了实现与使用的分离,一定程度上也增强程序的安全性

  • 相关阅读:
    Twisted
    day10-redis操作
    day9mysql操作
    day9-paramiko
    day10-rabbitmq
    day9-协程
    day8-异常
    Linux 软连接
    nginx 配置篇
    ansilbe基础学习(一)
  • 原文地址:https://www.cnblogs.com/BuluGuy/p/8711373.html
Copyright © 2020-2023  润新知