当前位置:编程学习 > C/C++ >>

C++编程~~~类的定义和使用~~~~~

1、定义一个圆类,计算圆的面积和周长。

要求:分别用成员函数和友元函数来求圆的面积和周长。

2、定义一个学生类,其中有3个数据成员有学号、姓名、年龄,以及若干成员函数。同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:

1、使用成员函数实现对输出的输入、输出;

2、使用构造函数和析构函数实现对数据的输入、输出。

3、定义日期类型Date。要求有以下面成员:

可以设置日期;

日期加一天操作;

输入函数,输入格式为“XXXX年XX月XX日”。
答案:1.程序:

成员函数法:

#include<iostream>
#define PI 3.14159
using namespace std;

class circle
{
private:
float radius;
public:
circle(float r=0):radius(r){}
void setvalue();
float area();
float perimeter();
};
void circle::setvalue()
{
cout<<"input radius of circle:"<<endl;
cin>>radius;
}
float circle::area()
{
return PI*radius*radius;
}

float circle::perimeter()
{
return 2*PI*radius;
}

int main()
{
circle c;
c.setvalue();
cout<<"area of circle:"<<c.area()<<endl;
cout<<"perimeter of circle:"<<c.perimeter()<<endl;
return 0;
}

结果:

1.友元函数法:
#include<iostream>
#define PI 3.14159
using namespace std;

class circle
{
private:
float radius;
public:
circle(float r=0):radius(r){}
void setvalue();
friend float area(circle a);
friend float perimeter(circle a);
};
void circle::setvalue()
{
cout<<"input radius of circle:"<<endl;
cin>>radius;
}
float area(circle a)
{
return PI*a.radius*a.radius;
}

float perimeter(circle a)
{
return 2*PI*a.radius;
}

int main()
{
circle c;
c.setvalue();
cout<<"area of circle:"<<area(c)<<endl;
cout<<"perimeter of circle:"<<perimeter(c)<<endl;
return 0;
}

结果:

2.程序:

使用构造函数和析构函数实现对数据的输入、输出。

#include<iostream>
#include<string>
using namespace std;
class student
{
private:
int num;
string name;
int age;
public:
student();
~student(){cout<<"idnumber:"<<num<<" "<<"name:"<<name<<" "<<"age:"<<age<<endl;}

};
student::student()
{
cout<<"input infomation of student(idnumber,name,age):"<<endl;
cin>>num>>name>>age;
}

int main()
{
student s;
return 0;
}

结果:

使用成员函数实现对输出的输入、输出:

#include<iostream>
#include<string>
using namespace std;
class student
{
private:
int num;
string name;
int age;
public:

void setvalue();
void showinfo();
};


void student::setvalue()
{
cout<<"input infomation of student(idnumber,name,age):"<<endl;
cin>>num>>name>>age;
}
void student::showinfo()
{
cout<<"idnumber:"<<num<<" "<<"name:"<<name<<" "<<"age:"<<age<<endl;
}
int main()
{
student s;
s.setvalue();
s.showinfo();

return 0;
}

结果:

上一个:有好的C++题目,给我发一些
下一个:怎样学好c++呢?应注意什么?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,