OOP起死回生
文章平均质量分 74
HGGshiwo
这个作者很懒,什么都没留下…
展开
-
OOP07 模板
感谢ljj1 模板的概念模板:类型参数化后的样板,模板分为函数模板和类模板函数模板:同一个函数操作不同类型的对象类模板:表示一组类模板函数:函数模板实例化以后叫做模板函数模板类:类模板实例化以后叫做模板类2 函数模板与模板函数函数模板定义声明:template <class Type…>返回类型 函数名(参数表){ 使用Type的函数体}template<typename 类型参数>返回类型 函数名(模板型参表) { 函数体 }原创 2022-01-26 17:07:38 · 455 阅读 · 0 评论 -
OOP刷题
1 类和对象1.调用没有参数的构造函数不能加括号,比如A a是正确的,A a()是不正确的2.拷贝构造函数调用的三种情况:这是等价的:A a = c; A a(c);函数返回类型A的参数时,函数有类型为A的参数时如果A构造函数只有一个参数,那么A a = 'c’等价于 A a(‘c’)通过在构造函数前面加上explicit取消这种方式。例题1:#include <iostream>struct A { A() { std::cout << "A" <<原创 2021-07-05 11:39:24 · 111 阅读 · 0 评论 -
OOP06 流类库与输入输出
格式化输入和输出状态符使用cout.setf,如果有两个参数,cout.setf(a, b)说明取消b,将值置为a状态标志含义输入/输出skipws跳过输入中的空白Ileft左对齐输出Oright右对齐输出Ointernal在符号位和基指示符后填入字符Odec转换基制为十进制I/Ooct转换基制为八进制I/Ohex转换基制为十六进制I/Oshowbase在输出中显示基指示符Oshowpoint输出时显原创 2021-04-14 22:38:53 · 196 阅读 · 0 评论 -
OOP03 类的设计
自引用指针thisthis指针类型是成员函数的类型,它指向对象。不能修改this指针的值,但是可以修改其指向的值。this指针是一个局部数据*this代表当前对象本身。指针对象指针是指向对象的指针。实际是对象所指的地址。成员指针是指向成员的指针,只要公有成员能够拥有。声明:类型说明符 类名:: *成员指针名;赋值:成员指针名=&类名:: 成员名使用:对象名. *成员指针名对象指针名-> *成员指针名成员函数的指针类似向函数传递对象可以传递对象名,则函数外原创 2021-04-06 11:36:25 · 94 阅读 · 0 评论 -
OOP02 类和对象 构造函数和析构函数
1.类的构成class 类名 {public: 公有数据成员; 公有成员函数;protected: 保护数据成员; 保护成员函数;private: 私有数据成员; 私有成员函数; };private只能本类的成员函数访问protected可以由本类或者派生类访问public是任意函数能访问private出现在程序的开始时,关键词可以省略。不能在类中给数据成员赋值,需要在构造函数中赋值。2.成员函数的声明在类中给出函数声明:返回类型 成员函数(参数列表)原创 2021-04-06 08:20:17 · 245 阅读 · 0 评论 -
OOP05-2 运算符重载
重载方法本质上是定义一个函数,在指定类型使用该操作符时调用该函数。函数类型 operator 运算符名称 (形参表列){ 对运算符的重载处理 }比如对+进行重载,注意使用隐指针引用:Complex operator+ (Complex& c1,Complex& c2);重载规则1.只能重载已有运算符。2.类属关系运算符“.”、作用域分辨符“::”、成员指针运算符“*”、sizeof运算符和三目运算符“?:”不能重载。3.不改变优先级,结合性,操作数个数,语法结构。单目运原创 2021-03-31 09:10:44 · 163 阅读 · 0 评论 -
OOP01 C和C++不同之处
定义类1.定义类名2.定义属性名和属性类型(不能在这时候初始化)3.定义构造函数4.定义其他函数。构造函数1.与类同名2.没有返回类型3.在类被创建时调用1.构造函数目的是初始化类的属性。直接在定义属性时初始化是错误的。2.可以在类名下面用初始化列表对属性值初始化。Circle::Circle():radius(1){}Circle::Circle(){radius=1;}上面两个是等价的。对象1.一般类第一个字母大写,后面小写,对象名和变量名一样都小写2.使用circ原创 2021-03-29 23:26:56 · 192 阅读 · 0 评论