编写程序以获得基类 数 和两个派生类: 广场和立方体 。 您将计算平方数(a * a )和 数字的立方体(a * a * a)
#include <iostream>
#include <conio.h>
using namespace std;
class Number
{
protected:
int a ;
int y;
public:
a*a = y;
a*a*a=y
};
class Square : Number
{
int a , y;
public:
(a*a) = y;
};
class Cube : Number
{
int a, y;
public:
(a*a*a) = y;
};
int main()
{
int a;
cout << "Enter number "<< endl;
cin >> a >>endl ;
cout << " the Square of this number is : " << (a*a);
cout << "Enter number ";
cin >> a;
cout << " the cube of this number is : " << (a*a*a);
return (0);
}
答案 0 :(得分:4)
public:
a*a = y;
a*a*a=y
不是一个功能。在
private:
protected:
public:
部分定义了如何在类之外看到函数或变量。您不能在其中进行任何分配:您需要将赋值放入函数中,例如int multiply()
之类的函数或类似函数:
class Number
{
protected:
int a ;
int y;
public:
int squared(int a);
int cubed(int a);
};
int Number::squared(int a) {
y = a * a;
return y;
}
int Number::cubed(int a) {
y = a * a * a;
return y;
}
您的编译器错误来自您正在执行(a*a) = y
的事实,这是
(a*a)
的值分配给y
。您需要y = (a*a)
代替。