实验3—初识类

#include <iostream>
using namespace std;
class point
{
    public:
        point(double x0,double y0);
        ~point();
        double getm()
        {
            return x*y;
        }
    private:
        double x;
        double y;
};
point::point(double x0,double y0):x(x0),y(y0)         {cout<<"矩形面积为:  "<<endl;}
point::~point(){}
int main()
{
    double jlong,jshort;
    cout<<"请输入矩形的长和宽  "<<endl;
    cin>>jlong>>jshort;
    point p1(jlong,jshort);
    cout << p1.getm() << endl;
    return 0;
}

运行结果
不知是什么原因,对于某些数值,计算结果的精度相对于计算器总会缺少一位(四舍五入)

#include <iostream>
using namespace std;
class Complex
{
    public:
        Complex();
        Complex(double r0,double i0);
        Complex(double r0);·
        ~Complex();
        void add(Complex &c)//  因为c2是Complex类,所以需要用Complex定义一个参数,不过是否用引用类型无关紧要
        {
            real+=c.real;
            imaginary+=c.imaginary;
        }
        void show()
        {
            cout<<real<<(imaginary>0?'+':'-')<<imaginary<<"i"<<endl;
        }
    private:
        double real;
        double imaginary;
};
Complex::Complex(){};//默认构造函数和析构函数在这个程序中并不是必需的(虽然编译时会自动添加缺省函数),但活用它们会起到意想不到的效果
Complex::Complex(double r0,double i0):real(r0),imaginary(i0){}
Complex::Complex(double r0):real(r0),imaginary(0){}//这里我认识到,形式不同仅仅表示不同的赋值方式,不需要因此取出变量单独赋值(实际上这也难以实现)
Complex::~Complex(){}
int main()
{
    Complex c1(3,5);
    Complex c2=4.5;
    c2.add(c1);
    c2.show();
    return 0;
}

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值