相关疑难解决方法(0)

C++:创建一个未初始化的占位符变量而不是默认对象

我现在正从Java转向C++,只要Java中常用的概念没有直接映射到C++,我就会遇到一些困难.例如,在Java中我会做类似的事情:

Fruit GetFruit(String fruitName) {
    Fruit fruit;
    if(fruitName == "apple") fruit = new Fruit("apple");
    else if(fruitName == "banana") fruit = new Fruit("banana");
    else fruit = new Fruit("kumquat"); //'cause who really wants to eat a kumquat?

    return fruit;
}
Run Code Online (Sandbox Code Playgroud)

当然,在C++中,Fruit fruit;语句实际上创造了一种结果.这是否意味着我必须有一个默认的构造函数?这似乎不安全!如果我的默认水果逃脱怎么办?

c++ default-constructor

7
推荐指数
2
解决办法
4782
查看次数

标签 统计

c++ ×1

default-constructor ×1