《第五周实验报告任务1》

本文通过三个示例详细介绍了构造函数的概念及其在C++中的应用。包括无参构造函数、带参构造函数以及使用默认参数的构造函数。每个示例都展示了如何创建三角形对象,并计算其周长与面积。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:构造函数
* 作 者: 刘江波
* 完成日期: 2012 年 03 月 17 日
* 版 本 号: v.03171

* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/

1、

#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{public:
      Triangle();//声明一个无参的构造函数
       Triangle(float,float,float);//声明带参数的构造函数
	float perimeter(void);//计算三角形的周长
	float area(void);//计算并返回三角形的面积
	void showMessage();
private:
	float a,b,c; //三边为私有成员数据
};

 Triangle ::Triangle()
 {
       a=3;
	 b=4;
	 c=5;
 }
Triangle::Triangle(float x,float y,float z)
{
	a=x;
	b=y;
	c=z;
}

float Triangle:: perimeter(void)
{
	float z;
	z=a+b+c;
	return z;
}

float Triangle:: area(void)
{
	float s,p;
	p=(a+b+c)/2;
	s=sqrt(p*(p-a)*(p-b)*(p-c));
	return s;
}
void Triangle:: showMessage()
{
	cout<<"三角形的三边长分别为:"<<a<<" "<<b<<" "<<c<<endl;
	cout<<"该三角形的周长为:"<< perimeter()<<"面积为:"<< area()<<endl;
}

void main(void)
{

	Triangle Tri1;	//定义三角形类的一个实例(对象)
	Tri1.showMessage();
	Triangle Tri2(7,8,9);	//定义三角形类的一个实例(对象)
	Tri2.showMessage();
	system("PAUSE");
}


2、

#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{public:
      Triangle(float x=1,float y=1,float z=1);//声明构造函数时指定默认参数
	float perimeter(void);//计算三角形的周长
	float area(void);//计算并返回三角形的面积
	void showMessage();
private:
	float a,b,c; //三边为私有成员数据
};

Triangle::Triangle(float x,float y,float z)
{
	a=x;
	b=y;
	c=z;
}

float Triangle:: perimeter(void)
{
	float z;
	z=a+b+c;
	return z;
}

float Triangle:: area(void)
{
	float s,p;
	p=(a+b+c)/2;
	s=sqrt(p*(p-a)*(p-b)*(p-c));
	return s;
}
void Triangle:: showMessage()
{
	cout<<"三角形的三边长分别为:"<<a<<" "<<b<<" "<<c<<endl;
	cout<<"该三角形的周长为:"<< perimeter()<<"面积为:"<< area()<<endl;
}

void main(void)
{

	Triangle Tri1;	//定义三角形类的一个实例(对象)
	Tri1.showMessage();
	Triangle Tri2(7,8,9);	//定义三角形类的一个实例(对象)
	Tri2.showMessage();
	system("PAUSE");
}


3、

#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{public:
      Triangle(float x=1,float y=1,float z=1);
	float perimeter(void);//计算三角形的周长
	float area(void);//计算并返回三角形的面积
	void showMessage();
private:
	float a,b,c; //三边为私有成员数据
};

Triangle::Triangle(float x,float y,float z):a(x),b(y),c(z){}


float Triangle:: perimeter(void)
{
	float z;
	z=a+b+c;
	return z;
}

float Triangle:: area(void)
{
	float s,p;
	p=(a+b+c)/2;
	s=sqrt(p*(p-a)*(p-b)*(p-c));
	return s;
}
void Triangle:: showMessage()
{
	cout<<"三角形的三边长分别为:"<<a<<" "<<b<<" "<<c<<endl;
	cout<<"该三角形的周长为:"<< perimeter()<<"面积为:"<< area()<<endl;
}

void main(void)
{

	Triangle Tri1;	//定义三角形类的一个实例(对象)
	Tri1.showMessage();
	Triangle Tri2(7,8,9);	//定义三角形类的一个实例(对象)
	Tri2.showMessage();
	system("PAUSE");
}


知识点总结:

1)构造函数的名字必须与类名相同,一般声明为公用

2)声明有参数的构造函数Box(int,int,int);

无参的构造函数Box();

声明构造函数时指定默认参数Box(int h=1,int w=1,int len=1);

声明一个有参的构造函数,用参数的初始化表对数据成员初始化

Box(int a,int b,int c):height(a),width(b),length(c){ }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值