C++学习问题1:C2064

error C2046:term does not evaluate to a funtion

笔者在使用构造函数时,忽略了只能构造一次的原因

查知,这个错误的主要原因:

把非函数,当成函数了

这里先放出正确代码

正确的学生类

class Student//学生类
{
public:
	int Num;
	string name;
	Student();//构造函数
	Student(int d,string e,int a,int b,int c);
	void Sum();
	void print();
	void modify();
};

正确的构造函数实现

Student::Student()//Student初始赋值
{
	name=" ";
	Num=0;
	myScore.Chinese=0;
	myScore.English=0;
	myScore.Math=0;
	Sum();
}

Student::Student(int d,string e,int a,int b,int c)//Student再赋值
{
	name=e;
	Num=d;
	myScore.Chinese=a;
	myScore.English=b;
	myScore.Math=c;
}

正确的使用时,应当考虑只能初始构造使用一次这个因素,所以后面使用还是乖乖的把更改数据的代码再打一遍把QWQ。

modify定义函数

void Student::modify()//定义函数
{
	int d;	
	string e;
	int a;
	int b;
	int c;
	cout<<"请输入学生的姓名:"<<endl;
	cin>>e;
	cout<<"请输入学生的学号:"<<endl;
	cin>>d;
	cout<<"请输入学生的语文成绩:"<<endl;
	cin>>a;
	cout<<"请输入学生的英语成绩:"<<endl;
	cin>>b;
	cout<<"请输入学生的数学成绩:"<<endl;
	cin>>c;
	name=e;
	Num=d;
	myScore.Chinese=a;
	myScore.English=b;
	myScore.Math=c;
	Sum();
}

这里说一下我的错误:

void Student::modify(Student gg)
	int d;	
	string e;
	int a;
	int b;
	int c;
	cout<<"请输入学生的姓名:"<<endl;
	cin>>e;
	cout<<"请输入学生的学号:"<<endl;
	cin>>d;
	cout<<"请输入学生的语文成绩:"<<endl;
	cin>>a;
	cout<<"请输入学生的英语成绩:"<<endl;
	cin>>b;
	cout<<"请输入学生的数学成绩:"<<endl;
	cin>>c;
    gg(d,e,a,b,c);	
}

注意,这里定义的gg,出来时已经被构造一次,无法在modify函数中再构造一次

然后我在类里的就错误的写成了(代码定义类的上下省略)

......
void modify(Student a)
......

最后呢,笔者用gg来作为类,因为笔者这个程序是先寄为敬,在这里感谢@蓝嘤大佬的指正,大家也可以去他的主页学习优质文章 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当然有必要学习C++,因为C++是C语言的扩展,它不仅继承了C语言的优点,还增加了很多新的特性和功能,可以更好地支持面向对象编程和泛型编程。此外,C++也是很多行业和领域的主流编程语言,掌握它可以为你的职业发展带来更多机会。 ### 回答2: 学习了C语言之后,是否还有必要继续学习C取决于个人的学习目标和职业发展规划。以下是一些建议供参考。 1. 拓宽编程能力:学习C语言可以提高编程基础和算法思维,但C语言的应用领域有限。学习其他编程语言,如Python、Java或C++,可以拓宽自己的编程技能,适应不同的开发需求。 2. 学习系统编程:C语言是一种底层编程语言,对系统编程非常有用。如果你对操作系统、嵌入式系统或网络编程感兴趣,继续学习C语言将有助于深入理解底层机制和进行性能优化。 3. 学习开源项目:许多开源项目使用C语言,如Linux内核、SQLite数据库和FFmpeg多媒体框架等。学习C语言可以为参与这些项目的开发提供基础,并且能够了解和实践开源软件开发的流程和理念。 4. 职业发展需求:如果你的职业规划涉及与C相关的领域,如嵌入式软件工程师、系统程序员或游戏开发者等,学习C语言仍然是必要的。 综上所述,学习C语言是为了拓宽编程能力,深入系统编程,参与开源项目及满足职业发展需求。然而,学习C语言是否有必要还要根据个人兴趣和职业规划来决定。最重要的是持续学习和不断拓展自己的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值