构造函数中使用的c++ Enum返回函数
C++ Enum Returning Function to be Used in Constructor
我想从函数返回一个枚举值,因为我的构造函数需要创建一个枚举值。
My class:
class myBasket{
enum myType {type1, type2, type3} MT;
public:
myBasket(myType thetype) : MT(thetype){}
};
下面的部分是我想要创建的函数,但我不知道如何返回enum值,所以我只是写它来告诉你我想要什么,因为这是我的问题,如果需要,我如何在头文件中识别它?
int bSize(int size){
return size;
}
The Calling:
new myBasket(bSize(chosen_size));
c + + 98(也在c + + 11)
#include <iostream>
class myClass
{
public:
enum myBasket{one, two, three};
myBasket bSize(myBasket size){
return size;
}
};
int main()
{
myClass A;
//在c++98中,枚举的名称不被视为作用域std:: cout<
return 0;
}
c++>#include <iostream>
class myClass
{
public:
enum myBasket{one, two, three};
myBasket bSize(myBasket size){
return size;
}
};
int main()
{
myClass A;
//only worked on c++11, the enum name work as a scope
std::cout<<A.bSize(myClass::myClass::one)<<std::endl;
return 0;
}
你可以在c++11中声明枚举的类型,也可以进行前向声明
. hpp
enum class myBasket;
class myClass
{
public:
myBasket bSize(myBasket size);
};
. cpp
enum class myBasket : int{one, two, three};
注意enum类不能隐式地转换为int
在类中创建枚举时,类名就像一个命名空间。
class MyClass
{
enum SomeType
{
Val
};
};
MyClass::SomeType v = MyClass::Val;
enum myType {type1, type2, type3} MT;
class myBasket{
public:
myBasket(myType thetype) : MT(thetype){}
};
myType bSize(int size){
return somesize; //cant return the input value so modified
}
new myBasket(bSize(chosen_size));
相关文章:
- enum是C++中的宏变量还是整数变量
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- 什么时候在C++中返回常量引用是个好主意
- 你能重载对象变量名本身返回的内容吗
- 为什么 Serial.println(<char[]>);返回随机字符?
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何获取std::result_of函数的返回类型
- QueryWorkingSet总是返回false
- (C++)分析树以计算返回错误值的简单算术表达式
- 访问者访问变体并返回不同类型时出错
- 返回enum或通过引用传递enum
- 好的样式-返回enum或int
- C++函数,接受enum并返回要在模板中使用的typedef类类型
- 从成员函数返回enum
- 通过ENUM查找返回元组值(不同类型)的模板函数
- 返回特定于类的enum
- 如何创建这样的c++函数,将enum作为参数/参数,并返回它
- 构造函数中使用的c++ Enum返回函数
- 从其他类的成员函数返回ENUM(在一个类中定义)
- 通过函数返回enum