2016-02-03 3 views
-1

У меня есть этот класс в C++Как создать экземпляр класса без конструктора по умолчанию?

class vipWithAuth{ 
public: 
string name, id; 
float level; 
vipWithAuth (string &n, string &i, float g) : 
    name(n), id(i), level(g) 
    {} 
}; 

Я пытался много методов, но я не могу придумать способ создать экземпляр этого класса. Может кто-нибудь, пожалуйста, помогите мне?

+5

вы, вероятно, хотите константную ссылку вместо не константный реф. – Jarod42

+0

@ Jarod42, вы должны написать ответ. Я сомневаюсь, что OP понимает ваши комментарии. – Brian

+0

Если вы не сообщите компилятору об этом, он предоставит по умолчанию ctor. –

ответ

3

Измените конструктор, чтобы использовать const& вместо простого &,

vipWithAuth (string const& n, string const& i, float g) : 

Тогда можно построить объект класса, используя.

vipWithAuth obj("Name", "ID", 1.0f); 

Если вы должны держать конструкторе так, как это, вы должны будете использовать:

std::string name = "Name"; 
std::string ID = "ID"; 
vipWithAuth obj(name, ID, 1.0f); 
Смежные вопросы