C ++如何根据传递为输入的参数调用一个构造函数或另一个构造函数?

我有以下两个构造函数:

MyClass(char* path);
MyClass(int n);

如果用户已将路径作为参数传递,则需要调用第一个,否则,则需要调用第一个。

我的问题是我不知道如何执行此操作,因为如果不先初始化就无法定义类,也无法定义引用,然后将类创建到if-else块中,如下所示:

MyClass& c;
if (argc == n) // path passed
{
    c = MyClass(argv[n-1]);
}
else {
    c = MyClass(10);
}