Поэтому я использую Visual Studio для создания простой программы для введения в объектно-ориентированное программирование.Для этого я использую язык C ++, в Netbeans с JAVA OPP все не так сложно, но у меня возникли проблемы.Я должен сделать простой объект, я решил сделать мой объект под названием Movie.Я сделал файлы Movie.h и Movie.cpp.Я включил расширения .h в мои Movie.cpp и main.cpp, но когда я создаю объект в своем main или пытаюсь продолжать получать ошибки и подчеркивания, потому что мой файл .cpp не распознает мои переменные, объявленные в .h, он продолжает говоритьпеременная не определена.
Итак, Visual Studio хочет помочь мне, и я следовал их методу, поэтому в моих файлах .h они сказали, что они будут определять мои методы для меня, то есть они будут устанавливать его для меня и когдаЯ щелкнул по нему, я получил этот формат
string Movie::getName()
{
return string();
}
В то время как я использую этот формат для этой функции
string getName(){
return name;
}
Мои переменные подчеркиваются красным цветом, говоря, что они не определены.
Мой файл Movie.h
#pragma once
//Header File is where all of your class defenitions will go.
class Movie
{
private:
string name;
int length;
double rating;
public:
//Constructors
//A Default constructor
Movie();
//A Constructor that takes in 3 values, an int, a double and a string
Movie(int x, double y, string z );
//Get fucntions
//Get fucntions will get the required values.
string getName();
int getLength();
double getRating();
//Set functions
//Set fucntions will set the variables to the input values.
void setName(string x);
void setLength(int y);
void setRating(double z);
//toString Function
//A toString function that will display the details of the object
void toString();
};
Мой файл Movie.cpp
#include "Movie.h"
#include "pch.h"
#include <iostream>
#include <string>
using namespace std;
//Default Construtor
Movie::Movie()
{
}
//A Construtor that takes in 3 values, int for length, double for rating, string for name
Movie::Movie(int x, double y, string z)
{
setLength(x);
setRating(y);
setName(z);
}
//Set functions
void setLength(int x) {
length = x;
}
void setRating(double y) {
rating = y;
}
void setName(string z) {
name = z;
}
//Get functions
int getLength() {
return length;
}
double getRating() {
return rating;
}
string getName() {
return name;
}
Мой .main
#include "pch.h"
#include <iostream>
#include "Movie.h"
#include <string>
using namespace std;
int main()
{
Movie mo1();
mo1.setName("Inceptio");
mo1.setLength(123);
cin.ignore(1);
return 0;
}
Теперь я не работална моем методе toString, но я не могу, потому что я не могу понять, в чем реальная проблема, почему мой .cpp не распознает мои переменные?Мой формат неверный?Является ли формат Visual Studio правильным, потому что я работал с их форматом и тоже получил кучу ошибок, или я объявляю их неправильными или что-то в этом роде?Спасибо!