Member 14520059 Ответов: 1

Как я могу использовать функцию, возвращающую тип данных объекта в конструкторе?


Я хочу использовать функцию класса внутри конструктора. Тип возвращаемого значения функции-object
которые присваивают значение одной из частных строк через конструктор. Поскольку функция возвращает объект, я застрял там.

Что я уже пробовал:

class DayOfYear
{
	private:
		int day;
		string month;
	public:				
		DayOfYear(){}
		DayOfYear(int d){
			day = d;
			month = "";   // here, what I ve to put to get string i e 
 "January" or "Feb" from convert() function?
		}
	
		DayOfYear convert()           
		{
			if(day<=31 && day >=1)
				month = "January";
					
			else if(day<=59){
				day = day-31;
				month = "February";
			}
            else{
                 "Invalid Input";
            }
           return 0;
         }
};

1 Ответов

Рейтинг:
2

OriginalGriff

Вы не можете вызывать функции экземпляра элемента из конструктора объекта - до тех пор, пока конструктор не вернет создаваемый экземпляр объекта, он будет "незавершенным", и вы не сможете использовать его или любую функцию экземпляра. Это все равно что строить дом: вы не можете подняться наверх, пока не закончите стены, пол и крышу!

Вы можете позвонить статическая функция[^] однако.


Afzaal Ahmad Zeeshan

5ед.

Member 14520059

Что ты имеешь в виду?

OriginalGriff

Это система репутации здесь: видите "звезды" над моим ответом?
Он говорит "молодец" и дает мне "5 звезд", что повышает мою репутацию. Ниже трех понижает его, выше трех увеличивает.