面向物件實驗一(類與物件)
阿新 • • 發佈:2019-02-14
一、實驗目的
1、掌握類和物件的定義和使用。
2、掌握友元函式的定義和使用。
3、理解並掌握常量的定義和使用。
4、掌握靜態的定義和使用。
二、實驗內容
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;
}