- 博客(4)
- 收藏
- 关注
原创 C++练习Day4 剑指offer 赋值运算函数 创建单例类
赋值运算符函数 下面我们将编写代码,为一个CMyString类型添加赋值运算函数 class CMystring{ public: CMyString(char* pData=nullptr); CMyString(const CMyString& str); ~CMyString(void); private: char* m_pData; }; 写代码时有几点要注意: 1.返回值的类型:由于要完成连续赋值操作,函数的返回值必须声明为该类型的引用,并在函数结束前返回实例自身的引用(*th
2021-02-03 16:52:40
108
原创 C++练习Day3 C++语言联邦 const修饰词 对象初始化
Day3 C++是个多重范型编程语言,我们可以将C++视为多个次语言组成的联邦 主要的次语言如下: C C语言有局限:没有模板 没有异常 没有重载 Object-Oriented C++ 封装 继承 多态 virtual函数 Template C++ C++泛型编程 STL 当我们做出 #define ASPECT_RATIO 1.653 记号名称ASPECT_RATIO可能无法被编译器看见,解决之道是以一个常量替代宏 const double AspectRatio=1.653; 有两种特殊情况值得一
2021-01-29 11:56:40
200
1
原创 C++练习 Day2 关于by-reference与by-value的讨论 this指针
Day2 继续昨天,当我们使用by-reference而非by-value传递参数时,除了节省开销,也可以避免slicing问题(对象切割): 当一个派生类对象以传值方式传递给一个基类对象时,基类的copy构造函数被调用,而派生类对象的特性因此全被切割 下面看一个例子 class Window{ public: ... std::string name() const;//返回窗口名称 virtual void display() const;//const意味着该函数不会改变任何数据成员 }; cl
2021-01-27 23:40:13
195
原创 C++练习 Day1 关于声明式、定义式及传值传参与引用传参 虚函数
C++练习第一天 Part1 Effective C++ 一些术语 声明式(declaration):告诉编译器某个东西的名称与类型,但略去细节 extern int x; //对象声明式,不分配内存 std::size_t numDigits(int number); //函数声明式 class Widget; //类声明式 每个函数的声明式揭示了其签名式(signature),即参数与返回类型 函数的类型等同于该函数的签名 定义式的任务是提供编译器一些声明式所遗漏的细节。对于对象,
2021-01-27 08:30:31
259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人