
c++
xxx123112
这个作者很懒,什么都没留下…
展开
-
编译器报错expected initializer before ‘&’ token
源代码片段class quad{ private://... public://...}ostream& quad::arr_out(ostream & os) const{ //... }你也许在想&前究竟有什么错,是有什么对象没有设定初始值吗?不是的有些情况下,编译器报错会延后一行(我也不太清楚术语是怎么说的),就是——上一行出的错会显示在下一行,因此从&向上看一行,果然,class结尾处没加分号(;)。其实我想说的重点是——一定要记住在class后原创 2021-07-04 17:31:14 · 8293 阅读 · 0 评论 -
子类使用父类复制构造函数时出错Segmentation fault
先看我的代码,temp是基类,first是子类;first& first::operator=(const first & ppp){ if(&ppp == this){ return *this; } operator=(ppp);}有没有问题,肯定是有的,首先要明白opertor必须使用基类(temp)的构造函数,不能使用first的(不然就自己调用自己,无限递归了)出错原因是这里的operator前没有加原创 2021-07-04 11:46:19 · 251 阅读 · 0 评论 -
virtual虚函数c++
如果你想看懂以下的内容,建议先去看看c++的继承。virtual虚构函数是什么东西?按照常规,如果定义一个对象指针指向一个对象,这个指针便可以调用这个对象的一些函数,然而,如果一个对象有子类,那么想调用子类的函数怎么办?在定义一个对象指针?no,no,no不用这么麻烦,把想调用的函数定义为虚函数就行了——这样,指向父类的指针不在单单是他自己了,他可以指向该父类的所有子类,即可以调用所有子类的所有公共函数(不是所有函数,只能调用在父类中就有的函数)!例如,没有使用virtual时quad a1 = (原创 2021-07-03 23:42:05 · 126 阅读 · 3 评论 -
c++继承 子类构造函数出现报错no matching function for call to ‘xxx::xxx()
原因:派生类无法直接访问基类的私有成员,而必须通过基类的方法进行访问,说直白点就是要使用基类的构造函数;例如:first(int c, string ids = "first") {num = c; id = ids;};//错误写法first(int c, string ids = "first"): temp(c, ids) {;};//正确写法...原创 2021-07-03 18:52:59 · 12130 阅读 · 0 评论