#include "stdafx.h"
#include "iostream"
using namespace std;
class Student
{int number;
char name;
int telphone;
char sex;
public:
Student::~Student (){}
void Person(int num,char nam,int tel,char s){number=num;name=nam;telphone=tel;sex=s;}
void Getnumber(){}
void Getname(){}
void Gettelphone(){}
void GetSex(){}
};
void Student::Getnumber()
{
cout<<Student.number;
}
void Student::Getname()
{
cout<<Student.name;
}
void Student::Gettelphone()
{
cout<<Student.telphone;
}
void Student::GetSex()
{
cout<<Student.sex;
}
void main()
{
Student student1;
char m;
char s;
student1.Person(1,m,123456,s);
system("pause");}1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(23): error C2084: 函数“void Student::Getnumber(void)”已有主体
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(17) : 参见“Getnumber”的前一个定义
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(24): warning C4832: 标记“.”在 UDT“Student”之后是非法的
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(8) : 参见“Student”的声明
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(24): error C2275: “Student”: 将此类型用作表达式非法
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(24): error C2228: “.number”的左边必须有类/结构/联合
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(27): error C2084: 函数“void Student::Getname(void)”已有主体
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(18) : 参见“Getname”的前一个定义
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(28): warning C4832: 标记“.”在 UDT“Student”之后是非法的
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(8) : 参见“Student”的声明
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(28): error C2275: “Student”: 将此类型用作表达式非法
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(28): error C2228: “.name”的左边必须有类/结构/联合
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(31): error C2084: 函数“void Student::Gettelphone(void)”已有主体
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(19) : 参见“Gettelphone”的前一个定义
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(32): warning C4832: 标记“.”在 UDT“Student”之后是非法的
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(8) : 参见“Student”的声明
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(32): error C2275: “Student”: 将此类型用作表达式非法
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(32): error C2228: “.telphone”的左边必须有类/结构/联合
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(35): error C2084: 函数“void Student::GetSex(void)”已有主体
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(20) : 参见“GetSex”的前一个定义
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(36): warning C4832: 标记“.”在 UDT“Student”之后是非法的
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(8) : 参见“Student”的声明
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(36): error C2275: “Student”: 将此类型用作表达式非法
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(36): error C2228: “.sex”的左边必须有类/结构/联合
1>
1>生成失败。
#include "iostream"
using namespace std;
class Student
{int number;
char name;
int telphone;
char sex;
public:
Student::~Student (){}
void Person(int num,char nam,int tel,char s){number=num;name=nam;telphone=tel;sex=s;}
void Getnumber(){}
void Getname(){}
void Gettelphone(){}
void GetSex(){}
};
void Student::Getnumber()
{
cout<<Student.number;
}
void Student::Getname()
{
cout<<Student.name;
}
void Student::Gettelphone()
{
cout<<Student.telphone;
}
void Student::GetSex()
{
cout<<Student.sex;
}
void main()
{
Student student1;
char m;
char s;
student1.Person(1,m,123456,s);
system("pause");}1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(23): error C2084: 函数“void Student::Getnumber(void)”已有主体
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(17) : 参见“Getnumber”的前一个定义
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(24): warning C4832: 标记“.”在 UDT“Student”之后是非法的
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(8) : 参见“Student”的声明
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(24): error C2275: “Student”: 将此类型用作表达式非法
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(24): error C2228: “.number”的左边必须有类/结构/联合
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(27): error C2084: 函数“void Student::Getname(void)”已有主体
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(18) : 参见“Getname”的前一个定义
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(28): warning C4832: 标记“.”在 UDT“Student”之后是非法的
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(8) : 参见“Student”的声明
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(28): error C2275: “Student”: 将此类型用作表达式非法
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(28): error C2228: “.name”的左边必须有类/结构/联合
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(31): error C2084: 函数“void Student::Gettelphone(void)”已有主体
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(19) : 参见“Gettelphone”的前一个定义
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(32): warning C4832: 标记“.”在 UDT“Student”之后是非法的
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(8) : 参见“Student”的声明
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(32): error C2275: “Student”: 将此类型用作表达式非法
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(32): error C2228: “.telphone”的左边必须有类/结构/联合
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(35): error C2084: 函数“void Student::GetSex(void)”已有主体
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(20) : 参见“GetSex”的前一个定义
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(36): warning C4832: 标记“.”在 UDT“Student”之后是非法的
1> c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(8) : 参见“Student”的声明
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(36): error C2275: “Student”: 将此类型用作表达式非法
1>c:\documents and settings\huwei\my documents\visual studio 2010\projects\baidu\baidu\baidu.cpp(36): error C2228: “.sex”的左边必须有类/结构/联合
1>
1>生成失败。
改成cout<<number;
这个.前面必须是实例,不是类
using namespace std;
class Student
{
int number;
char name;
int telphone;
char sex;
public:
Student::~Student (){}
void Person(int num,char nam,int tel,char s){number=num;name=nam;telphone=tel;sex=s;}
void Getnumber();
void Getname();
void Gettelphone();
void GetSex();
};
void Student::Getnumber()
{
cout<<number;
}
void Student::Getname()
{
cout<<name;
}
void Student::Gettelphone()
{
cout<<telphone;
}
void Student::GetSex()
{
cout<<sex;
}
void main()
{
Student student1;
char m;
char s;
student1.Person(1,m,123456,s);
system("pause");
}
在类里这叫声明,像是C往顶部放的声明一样
在C++里,要最好把头文件声明与实现分开
声明是不能带{}的,带了就像是一个"空实现"了
你后来再去实现就会出错
cout<<Student.number;
Student是个类,number是成员变量,也只是声明,正常情况是没有值的
你这样输出当然是错误的
你那个Person 应改为构造函数更好些
还有:
void main()
{
Student student1;
char m;
char s;
student1.Person(1,m,123456,s);//这个m,s没有初始化
system("pause");
}