随笔分类 - C++ primer笔记
摘要:16.1定义模板 重载多个相似的函数是麻烦的: 比如重载能接受多个类型的compare。 使用函数模板之后可以定义成这样: template <typename T> int compare(const T &v1, const T &v2) { if(v1 < v2) return -1; if(
阅读全文
摘要:
阅读全文
摘要:7.5构造函数再探 构造函数初始化列表 const和引用必须进行初始化,而不能在构造函数中赋值。 class ConstRef { public: ConstRef(int ii); private: int i; const int ci; int &ri; }; ConstRef::ConstR
阅读全文
摘要:7.4 类的作用域 名字查找的过程:(查找匹配的声明) 在名字所在块中寻找语句,查找使用名字之前出现的声明。 如果没找到,查找外层作用域 还没找到就报错 类的定义分为两步处理: 首先编译成员的声明 直到类完全可见之后,才编译函数体 成员函数中的名字查找: 首先在函数内查找该名字的声明 如果没在函数内
阅读全文
摘要:7.2 访问控制与封装 访问说明符:public,private class和struct的区别:默认访问权限不一样,class默认所有成员是private,struct默认所有成员是public。 7.2.1 友元 类可以允许其他类或者函数访问它的非公有成员,通过令其他类或者函数(包括其他类的成员
阅读全文
摘要:###7.1定义抽象数据类型 struct Sales_data{ std::string bookNo; unsigned units_sold = 0; double revenue = 0.0; std::string isbn() const {return bookNo;}// 也可以写成
阅读全文