Создание класса и использование конструктора в C ++ (присваивание)

Для задания мне нужно создать класс фильма, который содержит название фильма, рейтинг MPAA, количество людей, которые оценили его от 1 до 5, найти накопленное значение для каждого из рейтингов и среднее значение.

В основном у меня проблемы с конструктором и классом. Я пытаюсь заставить это взять строку (и я получил эту часть несколько правильно). Я получаю несколько ошибок в строке 77 и строке 83. Я также застрял, так как не знаю, какие шаги мне следует предпринять дальше. Я буду признателен за любую возможную помощь.

Вот что я получил так далеко:

    #include "stdafx.h"#include <iostream>
#include <string.h>
#include <string>
// Required headers
using namespace std;

//Class movie starts
class Movie {
public:
void SetMovieName(string moviename);
// Function to set the name of the movie
// moviename = movie; later on

string GetMPAAR();
//function to return the MPAA rating

int amountofratingsof1() const;
//function to return the number of people that rated the movie as a 1
int amountofratingsof2() const;
//function to return the number of people that rated the movie as a 2
int amountofratingsof3() const;
//function to return the number of people that rated the movie as a 3
int amountofratingsof4() const;
//function to return the number of people that rated the movie as a 4
int amountofratingsof5() const;
//function to return the number of people that rated the movie as a 5

int average() const;
//function to return the average value of all ratings

std::string Movies(string moviename = "Gavecube: The Movie");
//constructor to set the movieprivate:
string Movie; //variable to store the name of the movie
int peoplethatrated1; // variable to store the number of people that rated 1
int peoplethatrated2; // variable to store the number of people that rated 2
int peoplethatrated3; // variable to store the number of people that rated 3
int peoplethatrated4; // variable to store the number of people that rated 4
int peoplethatrated5; // variable to store the number of people that rated 5
};

//implementation file:

void Movie::SetMovieName(const string moviename) {
//function below checks if it is a string or not
if (!cin) {
cout << "Not a valid input. Please restart." << endl;
}
}

int Movie::amountofratingsof1()const {

}

int Movie::amountofratingsof2()const {

}
int Movie::amountofratingsof3()const {

}
int Movie::amountofratingsof4()const {

}
int Movie::amountofratingsof5()const {

}

//constructor
std::string Movie(string moviename) {
SetMovieName(moviesname)
}int main()
{
Movie Movies("Hello");return 0;
}

Спасибо.

0

Решение

Для конструкторов они не похожи на обычную функцию. У них нет типа возврата, даже void, В конструкторе, если вы можете использовать инициацию члена, вы должны. Вот довольно хорошее объяснение конструкторов, если вы идете к Constructors раздел. В целом это должно выглядеть так:

ClassName (parameter par1, ...) : mem1(par1), ...{}

где mem1 является членом данных, соответствующим par1, Дальше вниз в ссылка раздел посвящения членов, который описывает, как это сделать. Как только вы получите настройку конструктора, вы должны закончить с определениями функций-членов в любом порядке, который вы хотите, затем протестировать и отладить, как и в любой другой программе. Проверьте крайние случаи и недействительные числа, если вам нужно сделать проверку на ошибки.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]