每日学习——C++习题

1.题目要求:求圆的面积,数据成员为半径r,定义为私有成员,要求用成员函数实现在键盘上输入圆半径,计算圆面积、输出圆面积三个功能,要求三个成员函数在类内声明,在类外定义

//定义类
class Circle{
    private:
        double r;
        double area;
    public:
        void setRadius();
        void getArea();
        void showArea();
};
void Circle::setRadius(){
    cout<<"请输入圆的面积:";
    cin>>r;
}
void Circle::getArea(){
    area = 3.14*r*r;
}
void Circle::showArea(){
    cout<<"圆的面积为:"<<area<<endl;
}

int main(){
    //定义对象
    Circle circle;

    circle.setRadius();
    circle.getArea();
    circle.showArea();
    return 0;
}

2.题目要求:定义一个点类,类名为point,将其坐标x,y,z定义为私有成员,定义两个构造函数(一个不带参数,一个带参数,初始化点的坐标);定义析构函数(输出相关信息,显示析构函数的调用顺序);定义五个公有函数完成点的输入、输出、获得x坐标、获得y坐标和获得z坐标的功能。在主程序中定义该类的一个对象,做到能够输入坐标,输出坐标,并且输出该点到原点的距离

//定义类
class point{
    private:
        int x;
        int y;
        int z;
        int n;
        double distance;
    public:
        point();//无参的构造函数
        point(int xinfo,int yinfo,int zinfo,int ninfo){//有参的构造函数
            x = xinfo;
            y = yinfo;
            z = zinfo;
            n = ninfo;
            cout<<"构造点NO."<<n<<endl;
        }
        ~point(){
            cout<<"析构点NO."<<n<<endl;
        }
        void setInfo();
        void getInfo();
        void showX();
        void showY();
        void showZ();
        void showDistance();
};
void point::setInfo(){
    cout<<"请输入点的坐标:";
    cin>>x>>y>>z;
}
void point::getInfo(){
    cout<<"输出点的坐标为:"<<x<<","<<y<<","<<z<<endl;
}
void point::showX(){
    cout<<"X的坐标为:"<<x<<endl;
}
void point::showY(){
    cout<<"y的坐标为:"<<y<<endl;
}
void point::showZ(){
    cout<<"z的坐标为:"<<z<<endl;
}
void point::showDistance(){
    distance = pow((x*x+y*y+z*z),1.0/3);
    cout<<"该点到原点的距离为:"<<distance<<endl;
}

int main(){
    int x,y,z;
    cout<<"请输入两个点"<<endl;
    cout<<"第1个点的x,y,z值为"<<endl;
    cin>>x>>y>>z;
    point p1(x,y,z,1);
    cout<<"第2个点的x,y,z值为"<<endl;
    cin>>x>>y>>z;
    point p2(x,y,z,2);

    //point p1(1,1,1,1);
    //point p2(2,2,2,2);

    p1.getInfo();
    p1.showX();
    p1.showY();
    p1.showZ();
    p1.showDistance();

    p2.getInfo();
    p2.showX();
    p2.showY();
    p2.showZ();
    p2.showDistance();

    return 0;
}
原文地址:https://www.cnblogs.com/Arisf/p/14528426.html