2 thewhitenight thewhitenight 于 2016.04.08 17:59 提问

c++中类访问权限的问题

#include "stdafx.h"
#include "iostream"
using namespace std;
class Score{
public:
void Input();
void Sum();
void Show();
private:
double No,fMath,fPhi,fDate,fSum;
char Name[10];

}
void Score::Input(){
cout<<"请输入学生学号:"< cin>>No;
cout<<"请输入学生名字:"< cin>>Name;
cout<<"请输入数学成绩:"< cin>>fMath;
cout<<"请输入物理成绩:"< cin>>fPhi;
cout<<"请输入数据结构成绩:"< cin>>fDate;
}
void Score::Sum(){
fSum=fMath+fPhi+fDate;
cout<<"总分为"<<fSum<<endl;
}
void Score::Show(){
cout<<Name<<endl;
cout<<"数学成绩是:"<<fMath<<endl;
cout<<"物理成绩是:"<<fPhi<<endl;
cout<<"数据结构成绩是:"<<fDate<<endl;
}
int main(){
Score a;
a.Input();
a.Sum();
a.Show();
return 0;
}

问题:

e:\visual studio workspace\1\1\1.cpp(13): error C2628: “Score”后面接“void”是非法的(是否忘记了“;”?)
1>e:\visual studio workspace\1\1\1.cpp(13): error C2556: “Score Score::Input(void)”: 重载函数与“void Score::Input(void)”只是在返回类型上不同
1> e:\visual studio workspace\1\1\1.cpp(6) : 参见“Score::Input”的声明
1>e:\visual studio workspace\1\1\1.cpp(13): error C2371: “Score::Input”: 重定义;不同的基类型
1> e:\visual studio workspace\1\1\1.cpp(6) : 参见“Score::Input”的声明
1>e:\visual studio workspace\1\1\1.cpp(37): error C2264: “Score::Input”: 函数定义或声明中有错误;未调用函数

求助呀!!!!!!

3个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.08 20:34
已采纳

不是访问权限的问题。。
是你的class定义完,少了分号

 class Score{
public:
void Input();
void Sum();
void Show();
private:
double No,fMath,fPhi,fDate,fSum;
char Name[10];

};   //少了分号!!!!!!!!!!!!
CSDNXIAOC
CSDNXIAOC   2016.04.08 21:46

C++类中的访问权限问题---public/protected/private 

2012-05-31 19:48:21|  分类:

c++基础的东东 |  标签:
|字号大中小
订阅

C++中public,protected,private访问小结
......
答案就在这里:C++类中的访问权限问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

PHONE3025
PHONE3025   2016.04.09 00:47

楼上正解…类定义不完整

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【C/C++】C++中类访问权限控制
第一:private, public, protected 访问标号的访问范围,在没有继承的情况下: private: 只能由 1.该类中的函数、2.其友元函数访问。 不能被任何其他访问,该类的对象也不能访问。 protected: 可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。
C++ 类中访问权限控制
C++ 的类中有三种不同的权限的说明符 private,public,protected 三种权限说明符为C++的封装性提供了支持,下面介绍一下三种权限说明符的允许访问的范围,即哪些函数可以访问。1.private : 类(基类)自身的成员函数 类(基类)友元的成员函数 2.public : 基类自身的成员函数 基类友元的成员函数 基类所产生派生类的成员函数 基类所产生的派生类的友元函数 其他的全局
【C++】:C++中的类成员访问权限
先举一个例子:#include <iostream> using namespace std; class CStudent{ private: char *cname; int iage; float fscore; public: void Setname(char *name){ cname
Objective-C 类属性和方法的访问权限
OC中提供了4种访问权限,@private, @public, @protected这三种和其他的C++, Java是一样的,@package这个访问权限并不是Java里的包访问权限,OC中没有包的概念,这个是框架级的访问权限,在当前的framework的类中视为@protected,在框架以外的类中访问被视为@private。 // // Goods.h // 05_Self // //
C#的默认访问权限
1.在namespace中的类、接口默认是internal类型的,也可以显示的定义为public类型,不允许是其他访问类型。 2.在一个类里面,属性和方法默认是private的,可以显示的定义为public、private、protected、internal或protected internal等访问类型。 3.接口中不能定义成员变量,接口中的方法默认为public的访问权限,但是不能显示的
c#的默认访问权限
[csharp] view plain copy  print? C# 方法默认访问级别 : private   C# 类默认访问级别 : internal   1.命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。 internal : 同一程序集中的任
C++的三种访问权限与三种继承方式
三种访问权限我们知道C++中的类,有三种访问权限(也称作访问控制),它们分别是public、protected、private。要理解它们其实也很容易,看下面了一个例子。 父类:class Person { public: Person(const string& name, int age) : m_name(name), m_age(age) { } void S
四种访问权限修饰符的区别
访问权限修饰符    a、私有权限(private)      private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。      b、默认权限(default)      类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。默认权限即同包权限,同包权限的元素
Protected访问权限
注:protected 既包括protected 域,又包括protected 方法,以下统称为protected!       看到protected,我们想到的可能是:protected 既提供包访问权限,同时对继承自该类的所有子类(或子类的下级子类)提供访问权限 !这句话是没有错的,不管子类与父类是否位于同一包中,子类的对象都可以访问protected成员,因为这些成员已经带到子类中来了!
C++三种继承方式下的访问权限控制
众所周知,C++类中的成员(函数/变量)拥有三种访问权限:        public:用该关键字修饰的成员表示公有成员,该成员不仅可以在类内可以被访问,在类外也是可以被访问的,是类对外提供的可访问接口;        private:用该关键字修饰的成员表示私有成员,该成员仅在类内可以被访问,在类体外是隐藏状态;        protected:用该关键字修饰的成员表示保护成员,保护成员