1.立方體
#include <iostream>
using namespace std;//立方體類設計
//1.創建立方體類
//2.設計屬性
//3.設計行為 獲取立方體面積和體積
//4.分別利用全局函數和成員函數 判斷兩個立方體是否相等class Cube
{
public:int getL(){return m_L;}void setL(int L){m_L = L;}int getW(){return m_L;}void setW(int W){m_W = W;}int getH(){return m_H;}void setH(int H){m_H = H;}//獲取立方體面積int calculateS(){return 2 * m_L + 2 * m_W + 2 * m_H;}//獲取立方體體積int calculateV(){return m_L * m_W * m_H;}//利用成員函數判斷兩個立方體是否相等bool isSameByClass(Cube &c){if (m_L == c.getL() && m_W == c.getW() && m_H == c.getH()){return true;}return false;}
private:int m_L;int m_W;int m_H;
};//利用全局函數判斷 兩個立方體是否相等
bool isSame(Cube& c1, Cube& c2)
{if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH()){return true;}return false;
}int main()
{//創建立方體對象Cube c1;c1.setL(10);c1.setW(10);c1.setH(10);cout << "c1的面積為:" << c1.calculateS() << endl;cout << "c1的體積為:" << c1.calculateV() << endl;//創建第二個立方體Cube c2;c2.setL(10);c2.setW(10);c2.setH(10);cout << "c1的面積為:" << c2.calculateS() << endl;cout << "c1的體積為:" << c2.calculateV() << endl;//利用全局函數判斷bool ret = isSame(c1, c2);if (ret){cout << "c1和c2是相等的" << endl;}else{cout << "c1和c2是不相等的" << endl;}//利用成員函數判斷bool ret2 = c1.isSameByClass(c2);if (ret2){cout << "c1和c2是相等的" << endl;}else{cout << "c1和c2是不相等的" << endl;}system("pause");return 0;
}
2.點和圓的關系
封裝思想
point.h(聲明)
#pragma once//點類
class Point
{
public://設置xvoid setX(int x);//獲取xint getX();//設置yvoid setY(int y);//獲取yint getY();
private:int m_X;int m_Y;
};
point.cpp(實現)
#include"point.h"//設置x
void Point::setX(int x)
{m_X = x;
}
//獲取x
int Point::getX()
{return m_X;
}//設置y
void Point::setY(int y)
{m_Y = y;
}
//獲取y
int Point::getY()
{return m_Y;
}
circle.h
#pragma once
#include<iostream>
#include"point.h"//圓類
class Circle
{
public://設置Rvoid setR(int r);//獲取Rint getR();//設置圓心void setCenter(Point center);//在類中可以讓另一個類 作為本來中的成員//獲取圓心Point getCenter();
private:int m_R;Point m_Center;
};
circle.cpp
#include"circle.h"
#include"point.h"//設置Rvoid Circle::setR(int r){m_R = r;}//獲取Rint Circle::getR(){return m_R;}//設置圓心void Circle::setCenter(Point center){m_Center = center;}//在類中可以讓另一個類 作為本來中的成員//獲取圓心Point Circle::getCenter(){return m_Center;}
main函數
#include <iostream>
#include"circle.h"
#include"point.h"using namespace std;//判斷點和圓的關系
void isInCircle(Circle &c, Point &p)
{//計算兩點之間距離 平方int distance=(c.getCenter().getX() - p.getX())* (c.getCenter().getX() - p.getX()) +(c.getCenter().getY() - p.getY()) * (c.getCenter().getY() - p.getY());//計算半徑的平方int rDistance = c.getR() * c.getR();//判斷關系if (distance == rDistance){cout << "點在圓上" << endl;}else if(distance>rDistance){cout << "點在圓外" << endl;}else{cout << "點在圓內" << endl;}
}
int main()
{//創建圓Circle c;c.setR(10);Point center;center.setX(10);center.setY(0);c.setCenter(center);//創建點Point p;p.setX(10);p.setY(11);//判斷關系isInCircle(c,p);p.setY(10);isInCircle(c, p);
}