Зачем писать const в конструкторе
class World
{
public:
World(const char* str);
private:
char* string[255];
}
или
class World
{
public:
World(char* str) const;
private:
char* string[255];
}
И в чём отличие первого варианта от второго?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Ну, так
World(char* str) const;
вы не напишете. А так -
World(char* str);
запросто, только вот при этом вы не сможете написать, например,
World w("Hello");
потому что строковый литерал приводится только к const char*, но не к char*.
Написать char* - по сути значит предупредить компилятор, что вы собираетесь менять эту строку.