自学C++,今天自己昨天题目,可是看了半天也不知道该在空格里填什么。。。

#include <iostream.h>
#include <math.h>
class Power
{
 public:
  Power(int i){x=i;}
  _______________________;
 protected:
  int x;
};
class Square:public Power
{
 public:
  __________________________;
  void display()
  {
   cout<<"x="<<x<<endl;
   cout<<"x square="<<x*x<<endl;
  }
};
class Cube:public Power
{
 ________________________
 };
void fun(__________)
{
 p.display();
}
int main()
{
 int m;
 while(cin>>m)
 {
  Square squ(m);
  Cube cub(m);
  fun(squ);
  fun(cub);
 }
 return 0;
}

 

输入

输入有多组测试数据,每行为一组测试数据,且只有一个正整数。

输出

根据程序代码输出相应的信息。

样例输入

1
2
3

样例输出

x=1
x square=1
x=1
x cube=1
x=2
x square=4
x=2
x cube=8
x=3
x square=9
x=3
x cube=27

请问,Power类中的语句中的Power(int){x=i}是什么,属于哪个知识点呢?

死神的苹果
浏览 1119回答 2
2回答

慕运维2420015

那句属于构造函数,在实例化Power类时调用,x是Power的受保护的成员变量

aa543187001

#include <iostream>#include <math.h> using namespace std;class Power{public: Power(int i){x=i;} virtual void display()=0;protected: int x;};class Square:public Power{public: Square(int i):Power(i){}; void display() { cout<<"x="<<x<<endl; cout<<"x square="<<x*x<<endl; }};class Cube:public Power{public: Cube(int i):Power(i){}; void display() { cout<<"x="<<x<<endl; cout<<"x cube="<<x*x*x<<endl; }};void fun(Power &p){ p.display();}int main(){ int m; while(cin>>m) { Square squ(m); Cube cub(m); fun(squ); fun(cub); } return 0;}Power(int){x=i}有参构造函数  最主要的是基类派生类那里 继承
打开App,查看更多内容
随时随地看视频慕课网APP