Visual C ++看不到我的课

时间:2018-07-30 17:53:13

标签: visual-c++

我试图制作一个基本的班级程序来练习制作班级,尽管我遵循了可视化++的说Person() expression must have a class type.

我不太了解它在说什么,在查找之后什么也没找到。这是我的代码:

//My main program

// ConsoleApplication1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "Person.h"

using namespace std;
int main(){
    Person person();
    cout << person.getName() << "Age = " << person.getAge() << endl;
    return 0;
}

//My person.cpp file

#include "stdafx.h"
#include "person.h"
Person::Person() {
    name = "unknown";
    age = 0;
}

string Person::getName() {
    return "person's name is " + name;
}

int Person::getAge() {
    return age;
}

//My person.h file

#pragma once
#include "Person.cpp"
#include <iostream>
#include <string>

using namespace std;
class Person {
private:
    string name;
    int age;

public:
    Person(); 
    string getName();
    int getAge();

};

1 个答案:

答案 0 :(得分:0)

要扩展@Igor Tandetnik在创建Person实例时所说的内容,实际上是在声明一个名为person并返回数据类型为Person的函数。此函数不带参数,因此:()。您想做的是

int main(){
     Person person;
     //...

     //...
}

通过这种方式创建名为Person的{​​{1}}的实例,或更简单地说,创建名为person的{​​{1}}将是Person而不是bob