Прежде всего, я хотел бы уведомить вас, я определенно искал ответы на мой следующий вопрос, но я полный новичок в C ++.
Я родом из роскошной жизни C # и Java, и сейчас пытаюсь разобраться с c ++
Вопрос об инстанцировании.
Я использую code :: block в качестве своей IDE.
В настоящее время я просто играю с тем, что в C # (с которым я на самом деле довольно хорошо знаком и написал несколько приложений):
2 класса
класс, содержащий main и Person
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Models.Person;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Person person = new Person();
Console.WriteLine(person.getName());
}
}
}
и человек класса:
namespace ConsoleApplication1
{
public class Person{
private string name = "Bob";
public string getName(){
return name;
}
}
}
(не возражайте против плохого или правильного написанного синтаксиса, просто имитировать то, чего я хочу достичь)
Я хочу добиться того же в C ++
Я посмотрел вверх, узнал о заголовках в некоторой степени и немного понял синтаксис. Это то, что у меня есть сейчас.
main.cpp
#include <iostream>
using namespace std;
int main()
{
Person person;
cout << person->getName() << endl;
}
Person.h
#ifndef PERSON_H
#define PERSON_H
#include <string>
class Person
{
public:
Person();
virtual ~Person();
std::string getName();
protected:
private:
};
#endif // PERSON_H
player.cpp
#include "Person.h"
#include <string>
using std::string;
Person::Person()
{
//ctor
}
Person::~Person()
{
}
string Person::getName()
{
return name;
}
Учитывая приведенный выше код, у меня есть несколько вопросов.
Я так и не нашел хорошего источника, который показал бы мне, должен ли я создавать экземпляр, используя Person person;
или Person person = new Person();
Какой из двух я должен использовать?
И еще один вопрос, за который я умираю: я могу определить членов класса в файле заголовка или в файле класса?
В настоящее время я получаю следующие ошибки:
'персона' не была объявлена в области видимости и ожидаемой ';' перед человеком
Я не обязательно прошу вас исправить мои ошибки, я справлюсь с этим после получения ответов на мои вопросы.