- 博客(5)
- 收藏
- 关注
原创 C++中递增递减运算符重载注意事项
同时因为是临时的对象,执行完之后就被释放了,不能够作返回值引用,故此这里的返回值类型为reduce,同时也因为这个原因,对于后置递减我们只能实现一次不能实现多次,也就是只能实现r--,不能实现(r--)--。值得说明一点的是,我们通常对一个类的成员属性设置为私有属性,外界通过类内的成员函数set(),get()等函数进行访问,如果外界函数不通过成员函数访问,我们可以定义friend友元函数直接访问私有属性。接着我们来实现递减重载,前置递减:--r,是先减再赋值,后置递减r--,是先赋值再减。
2024-10-25 11:20:26
610
原创 C++左移运算符重载的理解
可以这样理解,cout是一个数据流类,<< 是operator<<()的函数简写,a则是传入参数,所以可以理解这一步的意思是cout.operator<<(int a),然后编译器就理解这就是打印一个int数据类型的操作。故此我们可以确定operator<<()的声明为ostream& operator<<(ostream&,---);如果我定义为成员函数operator<<(ostream &cout,AA& p ),我想和全局函数实现cout << p相同的内容,是不是需要用p1 cout << p;
2024-10-25 10:24:11
795
原创 C++中声明和定义的注意事项
这个地方我个人的理解是这样的:程序中的代码是有着执行顺序的。如果我们在声明两个类的同时并且在类中进行定义,当两个类中互相有对方的类中成员的声明语句时。因为已经在类中进行了定义,所以编译器会顺着代码依次执行,当类中出现的别的类中的成员声明语句时,编译器找不到相应的定义就会报错!其中,在昨天学到友元的时候,遇到了一个问题,我就写了两个类,只不过这次把类的成员函数的实现写在了类外。最终总结就是:当两个类中互相有着对方类中成员的声明时,需要将全部声明和相关的定义分开编写,这样编译器才能正确理解我们的意图。
2024-10-23 14:12:24
566
原创 C++通讯录管理系统
系统编写思想很简单,函数的功能也差不多能够满足题目要求,但尚且有些细节,但是懒得调整了。另外删除的功能其实只能做到显示的方法,本质并没有删除数据,想要确切的达到实际的删除还得继续学习。1、添加联系人:向通讯录中添加新人,信息包括(名字,性别,年龄,联系电话,家庭住址),最多1000人。至此,功能基本完成,最后采用循环中调用switch的方法编写相应的主函数即可。2、显示联系人:显示通讯录中所有联系人信息。3、删除联系人:按照姓名进行删除指定联系人。6、清空联系人:清空通讯录中的所有信息。
2024-10-16 00:18:30
201
原创 VS2010代码编写出错避免生成上一次成功运行结果
最近在用VS2010编写代码的时候,发现代码标红出现error时,程序依旧可以生成调试出现黑窗口。并且结果为上一次成功执行的结果。这对编写代码正确和错误造成了干扰,为了预防这类情况。找到了一个方法使得代码错误不出现黑窗口。方法如下: 点击界面当中的调试(D)-->选项和设置(G)-->项目和解决方案-->生成并运行-->"运行时,当出现生成或部署错误时(E):"下面的选项选择为"不启动"。-->点击确定即可。
2024-10-12 15:25:14
352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人