我是一名業餘C++編碼人員,我開始使用類和對象。我想創建一個小小的「程序」,將人的生日和姓名顯示出來。我創建了一個程序,您只需輸入生日的日期,年份和月份,並顯示它的名稱&。我一直在People.h和People.cpp中發現錯誤: 「Member declaration not found」 error,and candidate are:std :: People :: People(const std :: People &)People.h 和 原型 '的std ::人::人()' 不匹配任何類'的std ::人民People.cpp未找到C++成員聲明
我包括Birthday.h和Birthday.cpp在兩個圖像在底部如果你需要這些。對不起,我的雜亂格式,這是我的第二篇文章,我試圖讓事情可讀,但我有點失敗。 :P
My Main.cpp is:
#include "Birthday.h"
#include "People.h"
#include <iostream>
using namespace std;
int main() {
Birthday birthObj(4,16,2002);
People ethanShapiro("Ethan Shapiro", birthObj);
return 0;
}
People.h is:
#ifndef PEOPLE_H_
#define PEOPLE_H_
#include <iostream>
#include "Birthday.h"
#include <string>
namespace std {
class People {
public:
People(string x, Birthday bo);
void printInfo();
private:
string name;
Birthday dateOfBirth;
};
}
#endif
People.cpp is:
#include "People.h"
namespace std {
People::People(): name(x), dateOfBirth(bo) {
}
void People::printInfo(){
cout << name << " is born in";
dateOfBirth.printDate();
}
}
你可能不應該把自己的班'命名空間std'。這不是問題所在,但它違背了命名空間的目的(使用自己的命名空間而不是非法侵入C++標準的命名空間)。 – skyking
你是什麼意思(在C++標準的命名空間中使用我自己的命名空間而不是trspass?是否意味着使用名稱空間peo **來創建一個新的命名空間,如**來放人? –