Skip to content

weeek 4

  • 3/15 牛客构造函数 原来在构造函数里面完成初始化操作可以让用户进行输入,这样在类里也可以访问私有成员了;

  • setfill 控制的是一整个 cout 流只写

操作符 作用范围 示例效果 setfill('0') 全局(直到再次修改) 所有后续 setw 用 0 填充 setw(n) 仅下一个输出项 仅控制紧随其后的一个输出的宽度一个就好 尽管用 c 也可 printf("04%d,02%d,02%d",y,m,d)

setfill 中使用单引号非双引号;

  • 闰年判断的条件

week 5

  • 为什么拷贝构造函数数组时要先释放空间呢是因为先调用了默认构造?

week 6 在 C++中,类的成员函数可以访问该类的所有对象的私有成员,而不仅限于当前对象。这是由 C++的访问控制规则决定的,访问权限是基于类而非实例的。

  • 矩阵乘法: aij=aik*akj

在运算符重载中,返回引用通常有两个前提条件:

引用的对象必须在函数返回后依然存在: 如果你在函数内部创建了一个局部对象(例如一个局部变量)并返回它的引用,那么这个引用会成为悬空引用,因为局部变量在函数结束后会被销毁。

返回引用的目的是为了避免不必要的拷贝,且引用指向的对象本身可以安全地被共享: 例如,在实现像 operator+= 这样的成员函数时,你可以修改当前对象并返回 *this,这样返回的是当前对象的引用,且该对象在调用者那边依然有效。

strncpy(str, s, MaxLength - 1); // 安全拷贝字符串

'/0'与'\0'的不同啊,会出现一个报错 D:\petto\Documents\programs\c++\practice\exercise.cpp|16|warning: multi-character character constant [-Wmultichar]|

最大公约数 ……辗转相除法

int gcd(int a,int b){

   if (b==0)return a;

   return gcd(b,a%b);

}

可以想象为一个长为 a 宽为 b 的长方形,求能够分他们的最小单元

  • 构造函数如何提供默认值?在传参的时候写就好。rational (int a=0,int b=0)

  • 后置自增的写法?

operator ++(int)
{}

重载赋值时要注意避免自赋值

swich 只接受整形和字符型啊

alt text alt text DD 继承 D2, D1,按照继承顺序先调用 D2 构造函数,再调用 D1 构造函数 alt text 上而非下

熟悉 string 的 api 么 作业二关于字符串的继承