tester001 发表于 2022-7-30 21:09

C++,从入坑到埋了自己(九)

1.1、struct和class的区别:默认的访问权限不同
--struct默认权限为公共
--class默认权限为私有

1.2、成员属性设置为私有
--优点1:将所有成员属性设置为私有,可以自己空值读写权限
--优点2:对于写权限,我们可以检测数据的有效性

上代码。。。。。
#include<iostream>
using namespace std;

/*
* 设计立方体类
* 求出立方的面积和体积
* 分别用全局函数和成员函数判断两个立方体是否相等
*/

//设计立方体类,全部为公有权限
class Cube
{
public:
        //立方体的属性:长、宽、高
        double c_length;
        double c_breadth;
        double c_height;
        //面积计算
        double c_area()
        {
                return ( 2 * c_length * c_breadth)+ (2 * c_length * c_height)+ (2 * c_breadth * c_height);
        }
        //体积计算
        double c_volume()
        {
                return c_length * c_breadth * c_height;
        }
        void c_equals(double volume1, double volume2)
        {
                if (volume1 == volume2)
                {
                        cout << "这两个立方体相等!" << endl;
                }
                else
                {
                        cout << "这是两个不相等的立方体!" << endl;
                }
        }
};

//设计立方体类,成员属性设置为私有权限
class TwoCube
{
public:
        //设置私有成员的属性
        void getH(double Setlength, double Setbreadth, double Setheight)
        {
                c_length = Setlength;
                c_breadth = Setbreadth;
                c_height = Setheight;
        }
        //面积计算
        double c_area()
        {
                return (2 * c_length * c_breadth) + (2 * c_length * c_height) + (2 * c_breadth * c_height);
        }
        //体积计算
        double c_volume()
        {
                return c_length * c_breadth * c_height;
        }
        //是否相等
        void c_equals(double volume1, double volume2)
        {
                if (volume1 == volume2)
                {
                        cout << "这两个立方体相等!" << endl;
                }
                else
                {
                        cout << "这是两个不相等的立方体!" << endl;
                }
        }
private:
        //立方体的属性:长、宽、高,成员属性私有化
        double c_length;
        double c_breadth;
        double c_height;

};
//判断两个立方体是否相等
void boolean_equals(double volume1,double volume2)
{
        if (volume1 == volume2)
        {
                cout<<"这两个立方体相等!" << endl;
        }
        else
        {
                cout<<"这是两个不相等的立方体!" << endl;
        }
}
//主函数
int main()
{
        //Cube cube1;
        //Cube cube2;
        //cout << "输入第一立方体的长宽高(空格区分):" << endl;
        //cin >> cube1.c_length >> cube1.c_breadth >> cube1.c_height;
        //cout << "输入第一立方体的长宽高(空格区分):" << endl;
        //cin >> cube2.c_length >> cube2.c_breadth >> cube2.c_height;
        //cout << "第一个立方体的面积为:" << cube1.c_area() << endl;
        //cout << "第二个立方体的面积为:" << cube2.c_area() << endl;
        //cout << "第一个立方体的体积为:" << cube1.c_volume() << endl;
        //cout << "第二个立方体的体积为:" << cube2.c_volume() << endl;
        //cube1.c_equals(cube1.c_volume(), cube2.c_volume());
        //boolean_equals(cube1.c_volume(), cube2.c_volume());
        TwoCube Cube1;
        TwoCube Cube2;
        Cube1.getH(2.6, 3.6, 9.8);
        Cube2.getH(2.4, 3.2, 9.9);
        cout << "第一个立方体的面积为:" << Cube1.c_area() << endl;
        cout << "第二个立方体的面积为:" << Cube2.c_area() << endl;
        cout << "第一个立方体的体积为:" << Cube1.c_volume() << endl;
        cout << "第二个立方体的体积为:" << Cube2.c_volume() << endl;
        Cube1.c_equals(Cube1.c_volume(), Cube2.c_volume());
        system("pause");
        return 0;
}

null2008 发表于 2022-7-30 21:45

打破零回复,只会易语言的路过{:1_918:}

walili 发表于 2022-7-30 21:58

感觉看是看的懂,让我自己写,写不来

love-me 发表于 2022-7-30 22:19

我也想学,不知从哪开始。

tester001 发表于 2022-7-31 09:39

love-me 发表于 2022-7-30 22:19
我也想学,不知从哪开始。

学习python吧

HonJoRen 发表于 2022-8-1 08:26

黑马的哈哈哈哈
页: [1]
查看完整版本: C++,从入坑到埋了自己(九)