
C++新时代
文章平均质量分 90
C++中期课程学习
涅槃豆
咚咚咚
展开
-
运算符重载(重构)
在函数过程中,如果发生了数组越界,那么我们之前所构建的下标重构中会返回charnull,虽然charnull是全局区,但因为引用符号实际上对ca的某个值发生了赋值操作,修改了对象,const不允许这样的操作出现,因此带上const发生了报错。原创 2023-05-28 20:36:02 · 1024 阅读 · 2 评论 -
对象友元的概念及应用
1:+运算符为双目运算符,有左右两个参数,在类中重构时,this指针指向的对象为左参数,参数1指向右参数,this指针作为隐含的参数不需要我们在参数列表内加上他,所以在类中重构+运算符时,只有一个参数。这是因为在编译过程中,Line类作为Point的友元,虽然能够调用Point的成员,但因为Line声明定义在Point的前面,我们目前还不清楚Point类中成员都有什么,无法调用Point的成员。A认为B是他的朋友,B认为C是B的朋友,但是A如果不认识C那么A就不认为C是A的朋友。原创 2023-05-24 19:13:29 · 770 阅读 · 0 评论 -
log4cpp的安装(vs/visual studio版)
如果没有报错就说明配置成功,如果还有报错建议评论问一下我。原创 2023-05-22 20:06:40 · 1706 阅读 · 1 评论 -
C++中的三种IO形式
既然已经掌握了四种状态表示和如何重置流与清空缓冲区那么可以试着写一个专门用于输入的函数cin . eof()) //直到输入结束 {return - 1;return 0;原创 2023-05-18 21:06:11 · 484 阅读 · 0 评论 -
对象应用:C++字符串和vector,对象的new与delete重构
此时我们在内存检测时发现,对象本身没有被真正销毁,因此在destroy内部调用析构函数是错误的,应该直接进行delete操作,由于是在类的内部进行delete,可以访问析构函数,所以其操作是完全可行的。此时我们运行发现,在sp1->delete行出错,由此我们知道delete在销毁对象时调用了析构函数,而析构函数因为他的私有化而不可用,因此需要在public里新建一个函数用来替换delete操作。//参数1,pos,指定起始位置,参数2,len,指定长度。所占存储空间较大,40字节,数据成员一般都包含。原创 2023-05-09 19:35:35 · 1919 阅读 · 0 评论 -
对象应用和单例模式
1.将构造函数私有化创建的对象就既不能是栈对象,也不能是全局/静态对象,只能是堆对象(因为new/malloc出来唯一的对象可以用地址访问)public :private :"原创 2023-05-09 18:40:30 · 891 阅读 · 0 评论 -
C++中期:程序内存布局以及对象入门
public ://默认为public,类之外可直接访问 void pay();//protected://保护的访问权限,交给子类(派生类)访问 private ://不允许类之外访问 string id;int money;一般来说特征属性都是放在private内,行为都是放在public内。原创 2023-04-19 21:45:01 · 131 阅读 · 1 评论 -
对象的创建,初始化,销毁与拷贝
对象,c++的核心,难点原创 2023-04-24 20:11:46 · 286 阅读 · 1 评论 -
C++中期:深入namespace
(1).像函数一样可以直接定义} }(2)也可以定义匿名空间int num;int a;匿名空间所定义的变量或函数可以直接使用,不需要作用域限定符(3)更可以像函数或者循环一样嵌套定义int num;int num;} }其中::被称为作用域限定符。原创 2023-04-11 15:50:01 · 87 阅读 · 0 评论