1. 程式人生 > >面向物件實驗一(類與物件)

面向物件實驗一(類與物件)

一、實驗目的
1、掌握類和物件的定義和使用。
2、掌握友元函式的定義和使用。
3、理解並掌握常量的定義和使用。
4、掌握靜態的定義和使用。


二、實驗內容

1、給定三個數21,15,22,設計行內函數int max(int a, int b)求兩個數的最大數,輸出結果“在21    15      22之中最大的是:22”。

#include<iostream>
using namespace std;

inline int max(int a,int b);

int main()
{
    int a=21,b=15,c=22,d,e;
    d=max(a,b);
    e=max(d,c);
    cout<<"在21,15,22之中最大的是:"<<e<<endl;
    return 0;
}

int max(int a,int b)
{
   return (a>b)?a:b;
}


2、設計過載函式overload,如果輸入整數5,則輸出5,如果輸入字元'a',則輸出字元'b'。

#include<iostream>
using namespace std;

void overload (int a);
void overload (char b);

int main()
{
    int x;
    char y;
    cout<<"請輸入X的值:";
    cin>>x;
    overload(x);
    cout<<endl<<"請輸入y的值:";
    cin>>y;
    overload(y);
    return 0;
}

void overload(int a)
{
    cout<<"你輸入的數值為:"<<a<<endl;
}

void overload(char b)
{
    char i;
    i=b+1;
    cout<<"你輸入的字元為:"<<i<<endl;
}


3、定義一個三角形類,用成員函式計算其周長、面積。

#include<iostream>

using namespace std;
#include<math.h>

class triangle
{
    private:
    int a,b,c;

    public:
    triangle(int x=0,int y=0,int z=0);
    static void perimeter(triangle a);
    static void area(triangle b);
};

int main()
{
    triangle  M(3,4,5);
    M.perimeter(M);
    M.area(M);
    return 0;
}

triangle::triangle(int x,int y,int z)
{
    a=x;
    b=y;
    c=z;
}

void triangle::perimeter(triangle a)
{
    int h;
    h=a.a+a.b+a.c;
    cout<<"三角形周長為:"<<h<<endl;
}

void triangle::area(triangle b)
{
    float x,s;
    x=(b.a+b.b+b.c)/2;
    s=sqrt(x*(x-b.a)*(x-b.b)*(x-b.c));
    cout<<"三角形面積為:"<<s<<endl;
}




4、定義一個矩形類,用成員函式其周長、面積。

#include<iostream>
using namespace std;

class rectangle
{
    private:
    int a,b;
    public:
    rectangle(int x=0,int y=0);
    void perimeter(rectangle i);
    void area(rectangle j);
};

int main()
{
    rectangle ob1(3,5);
    ob1.perimeter(ob1);
    ob1.area(ob1);
    return 0;
}

rectangle::rectangle(int x,int y)
{
    a=x;
    b=y;
}

void rectangle::perimeter(rectangle i)
{
    int a;
    a=2*(i.a+i.b);
    cout<<"矩形的周長為:"<<a<<endl;
}

void rectangle::area(rectangle j)
{
    int b;
    b=j.a*j.b;
    cout<<"矩形的面積為:"<<b<<endl;
}


5、定義一個圓類,用成員函式其周長、面積。

#include<iostream>
using namespace std;

class circle
{
    private:
    int r;
    public:
    circle(int x);
    void perimeter(circle a);
    void area(circle b);
};

int main()
{
    circle ob1(1);
    ob1.perimeter(ob1);
    ob1.area(ob1);
    return 0;
}

circle::circle(int a)
{
    r=a;
}

void circle::perimeter(circle a)
{
    float z;
    z=2*3.14*a.r;
    cout<<"圓的周長為:"<<z<<endl;
}

void circle::area(circle b)
{
    float c;
    c=3.14*b.r*b.r;
    cout<<"圓的面積為:"<<c<<endl;
}