| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 553 人关注过本帖
标题:求助!!关于定义类的
只看楼主 加入收藏
raul665
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-8-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求助!!关于定义类的
我用Win32 Console Application建立一个工程,在工程中插入一个Person类,头文件如下,里面有些自动生成的代码,看不太懂

#if !defined(AFX_PERSON_H__EE99EDA9_34DC_42F9_BD9C_5296953A98B7__INCLUDED_)
#define AFX_PERSON_H__EE99EDA9_34DC_42F9_BD9C_5296953A98B7__INCLUDED_
#include <string>//这一句是我加的
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class Person  
{
public:
    Person(string nam, char s, int a);
    virtual ~Person();
protected:
    string name;
    char sex;
    int age;
};
#endif // !defined(AFX_PERSON_H__EE99EDA9_34DC_42F9_BD9C_5296953A98B7__INCLUDED_)
源文件如下:

#include "stdafx.h"
#include "Person.h"
#include <string>
Person::Person(string nam, char s, int a)
{
    name=nam;sex=s;age=a;

}
Person::~Person()
{

}
编译时出现如下错误:
unexpected 'class Person ('
unexpected token(s) preceding ';'等
我知道问题在哪,但是不知道怎么改,
就是string的问题,在Person.h文件中包含了<string>为什么还会出错,是编译系统的问题吗,如果我把Person类中的string类型的成员
改成int,float,char*等简单类型的就没有错了,请问这个string到底哪错了?
谢谢各位~~
搜索更多相关主题的帖子: public include 工程 
2011-09-22 10:33
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:20 
你在头文件类person前面加一句:
using namespace std; 就行了。

学习C++,你需要了解的第一点就是,所有的STL类,包括string,vector, list,stack这些都是类,它们都包含在命名空间std中,如果不申明命名空间,它就不被外部程序所使用,所以如果你不加using namespace std;这句,就需要在每个用类的地方,加上std::,如你的构造函数:
Person(std::string nam, char s, int a);

int,float,char*这些是类部数据类型,无需命名空间申明。

我们都在路上。。。。。
2011-09-22 12:45
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
尽量不要using namespace std
采用std::

我的理解...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2011-09-22 12:47
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
另外, name=nam;sex=s;age=a;不要这么链着写,分成三行,免得如果你名字拼错了,你还得仔细查看这行哪里出错。

我们都在路上。。。。。
2011-09-22 12:48
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
回复 3楼 peach5460
我也是,个人习惯std::写法。

我们都在路上。。。。。
2011-09-22 12:51
raul665
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-8-31
收藏
得分:0 
回复 2楼 hellovfp
谢谢啊,果然是这样的呃
2011-09-23 14:46
快速回复:求助!!关于定义类的
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024268 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved