C++类与对象基础作业

1.设计立方体类(Cube)

求出立方体的面积和体积

分别用全局函数和成员函数判断两个立方体是否相等。

全局函数版:

#include <bits/stdc++.h>
using namespace std;
class Cube{
	private:
		int mL;
		int mW;
		int mH;
	public:
		void setL(int l){
			mL=l;
		}
		void setH(int h){
			mH=h;
		}
		void setW(int w){
			mW=w;
		}
		int getL(){
			return mL;
		}
		int getH(){
			return mH;
		}
		int getW(){
			return mW;
		}
		int mianji(){
			return 2*mL*mW+2*mL*mH+2*mH*mW;
		}
		int tiji(){
			return mL*mH*mW;
		}
		
};
bool pan(Cube &c1,Cube &c2){
	if(c1.getH()==c2.getH()&&c1.getW()==c2.getW()&&c1.getL()==c2.getL() ){
		return 1;
	}else{
		return 0;
	}
}
int main()
{
	Cube c1,c2;
	c1.setL(10);
	c1.setH(10);
	c1.setW(10);
	c2.setL(10);
	c2.setH(11);
	c2.setW(10);
	if(pan(c1,c2)){
		cout<<"c1和c2相等"; 
	}else{
		cout<<"c1和c2不相等"; 
	}
	return 0;
}

成员函数版:(就是类里面写好函数

#include <bits/stdc++.h>
using namespace std;
class Cube{
	private:
		int mL;
		int mW;
		int mH;
	public:
		void setL(int l){
			mL=l;
		}
		void setH(int h){
			mH=h;
		}
		void setW(int w){
			mW=w;
		}
		int getL(){
			return mL;
		}
		int getH(){
			return mH;
		}
		int getW(){
			return mW;
		}
		int mianji(){
			return 2*mL*mW+2*mL*mH+2*mH*mW;
		}
		int tiji(){
			return mL*mH*mW;
		}
		bool same(Cube &c1){
			if(c1.getH()==mH&&c1.getW()==mW&&c1.getL()==mL ) {
				return 1;
			}else{
				return 0;
			}
		}
		
};
int main(){
	Cube c1,c2;
	c1.setL(10);
	c1.setH(10);
	c1.setW(10);
	c2.setL(10);
	c2.setH(11);
	c2.setW(10);
	if(c1.same(c2)){
		cout<<"c1和c2相等"; 
	}else{
		cout<<"c1和c2不相等"; 
	}
	return 0;
	}

2.点与圆的关系(点在圆内外上

#include <bits/stdc++.h>
using namespace std;
class dian{
	private:
		int X,Y;
	public:
		void setX(int x){
			X=x;
		}
		void setY(int y){
			Y=y;
		}
		int getX(){
			return X;
		}
		int getY(){
		return Y;
		}
};
class yuan{
	private:
		int mR;
		dian m_xin;//类中类

	public:	
	void setR(int r){
		mR=r;
	}
	int getR(){
		return mR;
	}
	void setxin(dian mxin){
		m_xin=mxin;
	}
	dian getxin(){
		return m_xin;
	}
	
};
void guanx(yuan &c,dian &p){
	int dis=(c.getxin().getX()-p.getX())*(c.getxin().getX()-p.getX())+(c.getxin().getY()-p.getY())*(c.getxin().getY()-p.getY());
    int r=c.getR()*c.getR();
    if(dis==r){
    	cout<<"点在圆上"; 
	}else if(dis>r){
		cout<<"点在圆外"; 
	}else{
	cout<<"点在圆内"; 
	} 
}
int main(){
	yuan c;
	c.setR(10);
	dian cxin;
	cxin.setX(10);
	cxin.setY(0);
	c.setxin(cxin);
	dian p;
	p.setX(10);
	p.setY(9);
	guanx(c,p);
	return 0;
	}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛大了2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值