class example {
private:
char Name[100];
public:
example(){strcpy(Name, "no_name_yet");}
example(char n[100]){strcpy(Name, n);}
};
int main() {
example ex;
char n[100];
cout<<"Give name ";
cin>>n;
example();
}
我想将构造函数与参数一起使用,以便在用户给出名称时将其复制到name变量中。如何将constructoe与参数一起使用而不是默认参数? 我试过了
example(n)
example(char n)
example(*n)
example(n[100])
但它们都不起作用......
答案 0 :(得分:2)
是example my_instance_of_example(n)
。
std::string
代替它,它会为您提供更大的灵活性。
答案 1 :(得分:2)
易:
#include <string>
#include <iostream>
class example {
private:
std::string name;
public:
example() : name("no name yet"){}
example(std::string const& n) : name(n){}
};
int main() {
example ex;
std::string n;
std::cout << "Give name ";
std::cin >> n;
example ex(n); // you have to give your instance a name, "ex" here
// and actually pass the contructor parameter
}