为了账号安全,请及时绑定邮箱和手机立即绑定

倒是告诉我哪里错误啊?

弄了半天,还是这样

正在回答

6 回答

其实吧,我觉得是你把数据成员不可见了也就算private,但是没有封装函数,改成public就好了,要不就写封装函数然后再改改别的地方

0 回复 有任何疑惑可以回复我~

#include <iostream>

using namespace std;


/**

 * 定义一个矩形类模板Rect

 * 成员函数:calcArea()、calePerimeter()

 * 数据成员:m_length、m_height

 */

template<typename T>

class Rect

{

public:

   Rect(){}

   Rect(T length,T height);

  T calcArea();

  T calePerimeter();

public:

T m_length;

T m_height;

};


/**

 * 类属性赋值

 */

template<typename T>

Rect<T>::Rect(T length,T height)

{

m_length = length;

m_height = height;

}


/**

 * 面积方法实现

 */

template<typename T>

T Rect<T>::calcArea()

{

return m_length * m_height;

}


/**

 * 周长方法实现

 */

template<typename T>

T Rect<T>::calePerimeter()

{

return ( m_length + m_height) * 2;

}


int main(void)

{

Rect<int> rect(3, 6);

cout << rect.calcArea() << endl;

cout << rect.calePerimeter() << endl;

return 0;

}


0 回复 有任何疑惑可以回复我~

周长函数和类型函数的返回值都是T,不是void

0 回复 有任何疑惑可以回复我~
#1

Cocoabeans

更正:周长函数和面积函数
2018-07-27 回复 有任何疑惑可以回复我~

字符转化问题, 把你的面积和周长换成拼音就行了

0 回复 有任何疑惑可以回复我~

哦,我知道了,你不能改原来的代码,只能天空,你试试你把数据改成3和6就行了

0 回复 有任何疑惑可以回复我~

第16行的分号。

0 回复 有任何疑惑可以回复我~
#1

笔墨遥仙 提问者

我实现了函数需要分号吗?
2018-05-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

倒是告诉我哪里错误啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信