使用函数

时间:2018-01-30 04:31:21

标签: c++ variables

我试图弄清楚我是否可以使用具有字符串参数的函数创建'myclass'类变量。变量应该是字符串输入。

我想创建的函数看起来像这样:

void makevariable(string name){
    myclass name;
    }

问题是这个功能不起作用。如果string name ='apple',将创建一个myclass变量apple,那么期望的效果就是如此。请注意,我使用的是C ++。

2 个答案:

答案 0 :(得分:0)

不,编译代码后,所有名称都消失了。无论如何,这将是一项无用的运动。您可以在类中使用String成员变量(可能称为name),并在创建类时将其设置为等于String。

你还应该知道,你写的语句会创建一个对象,一旦makevariable函数退出就会立即超出范围。通常,您只需使用类构造函数作为您之后的函数。

假设构造函数接受一个字符串并将其放在name字段中。

    void someFunction(){

         String someString = "apple";
         String someOtherString = "banana";

         MyClass anInstance = MyClass(someString);
         MyClass anotherInstance = MyClass(someOtherString);

         //  More code using these instances
}

答案 1 :(得分:0)

在C ++中它是不可能的,它是静态编程语言。如果有可能,你会如何在函数之外使用这个变量?它是本地的。

但是,您可以使用以下内容:

class myclass {};
unordered_map<string, myclass> myclasses;

void makevariable(string name) {
    myclasses[name];
}

int main()
{
    string name = "var1";
    makevariable(name);
    myclasses[name];
    myclasses.erase(name);
}