C++创建一个抽象数据类型

功能包含:默认初始化,元素赋值,整体赋值,数据读写,加减运算。

#include "stdafx.h"
#include 
using namespace std;

class Point3d
{
public:
    Point3d(float x = 0.0, float y = 0.0, float z = 0.0)
        :_x(x), _y(y), _z(z){}

    Point3d(Point3d &pt)
        :_x(pt.x()), _y(pt.y()), _z(pt.z()){}

    float x(){ return _x; }
    float y(){ return _y; }
    float z(){ return _z; }

    void x(float xval) { _x = xval; }
    void y(float yval) { _y = yval; }
    void z(float zval) { _z = zval; }

    Point3d Point3d::operator +( Point3d &obj)
    {
        return  Point3d(x() + obj.x(), y() + obj.y(), z() + obj.z());
    }

    Point3d Point3d::operator -(Point3d &obj)
    {
        return  Point3d(x() - obj.x(), y() - obj.y(), z() - obj.z());
    }

    void print3d()
    {
        printf("(%f,%f,%f)",x(), y(), z());
    }

private:
    float _x;
    float _y;
    float _z;

};

int _tmain(int argc, _TCHAR* argv[])
{
    Point3d pt1(6, 3, 3);
    Point3d pt2(pt1);
    Point3d pt3(pt1 + pt2);

    pt1.print3d();
    pt2.print3d();
    pt3.print3d();
    return 0;
}

你可能感兴趣的:(C++)