我正在处理一个赋值,它要求对我的继承类执行以下操作:
- 将数据节设置为"0"的无参数构造函数
- 一个重载构造函数,它接受一个字符串并将数据节设置为传递给它的值
我不完全理解,如果我能举两个例子,我将不胜感激
我正在研究继承问题。
我的Number.h类通过继承。
#ifndef Number
#define Number
#include "Double.h"
#include "Integer.h"
class Number : public string
{
};
#endif
class Number : public string
{
public:
Number() : string("0") { }
Number(const string &str) : string(str) { }
};
但是,只要开头有以下2行,名称Number
就会被预处理器取代。
#ifndef Number
#define Number
您应该为#include保护使用另一个宏名称。
您创建了类Number
。现在您可以创建一个新的类(我称之为SpecialNumber
),它有2个构造函数。第一个构造函数没有参数,并将值设置为0
,而另一个构造函数获取要用作类值的参数。
#ifndef NUMBER_H
#define NUMBER_H
class Number
{
private:
int myValue;
};
class SpecialNumber : public Number
{
public:
SpecialNumber()
: myValue( 0 ) // fixed value
{
}
SpecialNumber( int someValue )
: myValue( someValue ) // value coming from a parameter
{
}
}
#endif
public:
Number::Number()
{
data = "0";
}
Number::Number(string a)
{
data = a;
}