Ошибка C ++, класс и конструкторы

0

У меня возникают проблемы с конструкторами, мне нужно создать 2 конструктора. 1. конструкторы без аргументов, которые устанавливают объект в безопасное пустое состояние. 2. конструктор с двумя аргументами

Я получаю ошибки, когда присваиваю значение переменной объекта.

CreditCard.cpp: In constructor âCreditCard::CreditCard()â:
CreditCard.cpp:8:11: error: invalid use of member (did you forget the â&â ?)
CreditCard.cpp: In constructor âCreditCard::CreditCard(long long int, char*)â:
CreditCard.cpp:15:11: error: invalid use of member (did you forget the â&â ?)
CreditCard.cpp: In member function âlong long int CreditCard::number() constâ:
CreditCard.cpp:32:12: error: argument of type âlong long int (CreditCard::)()constâ does not match âlong long intâ

1.CreditCard();

CreditCard::CreditCard() {
   number=0;
   strcpy(holder,"ABCD");
   balances=0;
}

2. CreditCard (2 параметра)

CreditCard::CreditCard(long long num,char h[21]) {
   number=num; 
   strcpy(holder,h);
}

3. Третья ошибка

long long CreditCard::number() const {

   return  number;
}

Класс (находится в файле заголовка)

class CreditCard {
   long long int nubmer;
   char holder[21];
   double balances;

   public:
     /*declarations of constuctors */
     CreditCard();
     CreditCard(long long num,char h[21]);

     void charge(double c);
     void pay(double p);
     long long number() const;
     double balance() const;
     const char* name() const;
};

ОБНОВЛЕНИЕ: Смешалось с переменными-членами и функциями (именами)

Теги:
constructor

1 ответ

3
Лучший ответ
long long int nubmer;

Посмотрите внимательно на эту линию.

long long CreditCard::number() const {

   return  number;
}

Эта функция утверждает, что возвращает long long, но на самом деле пытается вернуть функцию. Как это должно работать?

  • 0
    Это один. Простая опечатка в имени переменной- члена не приведет к этому. То, что правильный number имени на самом деле является функцией, делает.
  • 0
    Сочетание двух ошибок гораздо сложнее диагностировать, чем одну из них.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню