12 2016 档案
摘要:1.string的构造函数 string(string&& str) 不保证将str视为const,这种构造函数被称为移动构造函数。 在有些情况下,编译器可能使用它而不是复制构造函数,以优化性能。 2.string的构造函数 string(initializer_list il) 能够将列表...
阅读全文
摘要:15.8 编程练习 1.对Tv和Remote类做如下修改: a.让他们互为友元; b.在Remote类中添加一个状态变量成员,该成员描述遥控器是川渝常规模式还是互动模式; c.在Remote中添加一个显示模式的方法; d.在Tv类中添加一个队Remote中新成员进行切换的方法,该方法应仅当TV处...
阅读全文
摘要:15.7 复习题 1.下面建立友元的尝试有什么错误? a. class snap{ friend clasp; ...};class clasp{ ... };b. class cuff{public: void snip(muff&){..} ...};class...
阅读全文
摘要:1.友元类,就在类中声明个friend class className;就行了。 这个是对所有成员有效的。 class A { public: A(int a){ _a = a; } friend class B; private: int _a; }; class ...
阅读全文
摘要:14.7 编程练习 1.Wine类有一个string类对象成员(参见第4章)和一个Pair对象(参见本章):其中前者用来存储葡萄酒的名称,而后者有2个valarry对象(参见本章),这两个valarry对象分别保存了葡萄酒的酿造年份和该年生产的瓶数。例如,Pair的第1个valarray对象可能...
阅读全文
摘要:14.6 复习题 1.以A栏的类为基类时,B栏的类采用共有派生还是私有派生更合适。 A B 派生类型 class Bear class PolarBear 公有派生 class Kitchen class Home 私有派生 class Person class Progra...
阅读全文
摘要:1.初始化顺序是按照类定义中的顺序的。 2.私有继承,基类的公有成员和保护成员都变成派生类的私有成员。 在不进行显式类型转换的情况下,不能将派生类的引用或指针赋给基类引用或指针。 3.保护继承,公有成员变保护成员。 4.使用using可以改变基类私有变量的访问权限 class so...
阅读全文
摘要:13.11 编程练习 1.以下面的类声明为基础: class Cd { private: char performers[50]; char label[20]; int selections; double playtime; public: Cd(char * s1, ch...
阅读全文
摘要:13.10 复习题 1.派生类从基类那里继承了什么? 成员数据,还有一半的成员函数, 公有成员和保护成员是可见的,私有成员不可见 2.派生类不能从基类那里继承什么? 构造函数,析构函数,赋值运算符,还有友元函数,都不能继承。 3.假设baseDMA::operator=()函数的函...
阅读全文
摘要:1.派生类构造函数的要点: 首先创建基类对象; 应通过成员初始化列表将基类的初始化信息传递给基类的构造函数; 派生类构造函数应初始化新增的数据成员 2.首先执行派生类的析构函数,然后自动调用基类的析构函数. 3.基类指针可以在不进行显式类型转换的情况下指向派生类对...
阅读全文
摘要:1.对于下面的类声明: class Cow { private: char name[20]; char * hobby; double weight; public: Cow(); Cow(con...
阅读全文
摘要:学习到这里,C++可以说,已经进入一个既是基础的地方,也是高深的地方。 可能你做了几年开发,都没有接触到这些东西,但是又在潜移默化地使用着。 从现在开始,所有题目都打出来。方便查看了。 12.9 复习题 1.假设String类有如下私有成员: class String{private: ...
阅读全文
摘要:1.类的静态成员,在类声明中声明,在包含类方法的文件中初始化。初始化时使用作用域运算符来指出静态成员所属的类。 如果静态成员是整形或枚举型const,则可以在类声明中初始化。 2.值传递的时候会调用复制构造函数,如果代码里面没有复制构造函数,则会生成一个系统默认的。 但是函数结束之后,就会调...
阅读全文
摘要:答案很长,所以分开两个文章。 4. 原来的代码: Test.h #ifndef _Test_H_ #define _Test_H_ #include class Time{public: Time(); Time(int h, int m = 0); void AddMin(int m);...
阅读全文
摘要:这章主要讲重载运算符,友元函数和类型转换。 1.话说题目说的程序清单11.5,应该是错了吧,应该是11.15吧。 第一题就困了我好久,怎么都访问不了私有成员,一开始以为是哪里写错了,对着书敲代码都不行。 后来又觉得会不会友元的重载运算符太复杂,就自己写个简单的友元函数,发现也不行。 在main函...
阅读全文
摘要:1. Test.h #ifndef _Test_H_ #define _Test_H_ class Stonewt{private: enum {Lbs_per_stn = 14}; int stone; double pds_left; double pounds;public: St...
阅读全文
摘要:1.重载后的运算符必须至少有一个操作数是用户定义的类型。 2.使用运算符时,不能违反运算符原来的句法规则。另外还不应该改变运算符的语义。 3.不能修改运算符的优先级。 4.不能创建新的运算符。 5.不能重载的运算符: sizeof sizeof运算符 . 成员...
阅读全文
摘要:10.10编程题 1. Test.h #ifndef _Test_H_#define _Test_H_#include #include using namespace std;class Account{public: Account(const string& name, const str...
阅读全文
摘要:笔记,这章是在没什么笔记 1.如果可以通过初始化,也可以通过赋值来设置对象的值,应采取初始化,通常效率会更高。 2.在函数声明后面加上const,可以确保不能再函数内更高属性值。 3. #include #include "Test1.cpp"using namespace std;class...
阅读全文
摘要:1. Test.h #ifndef _Test_H_#define _Test_H_const int Len = 40;struct golf{ char fullname[Len]; int handicap;};void setgolf(golf& g, const char* name...
阅读全文
摘要:9.5复习题 1. a自动存储,自动成为自动变量,不需要特别声明。 b外联的静态存储,在一个文件中定义为外部变量,另一个文件中使用extern来声明。 c内联的静态存储,加上static来声明,也可以使用一个未命名的名称空间来定义。 d无链接的静态存储,在函数中声明,要加上static。 2...
阅读全文
摘要:1.为了保持通用性,C++使用术语翻译单元,而不是文件,文件不是计算机组织信息时的唯一方式。 2.C++允许编译器使用自己的名称修饰,因此不同的编译器编译出来的二进制模块(对象代码文件),通常是无法链接的。 3. 自动存储持续性:代码块内局部的变量,走过了就自动消失了。 静态存储持续性:...
阅读全文
摘要:Ctrl+Shift+P:打开命令面板 Ctrl+P:搜索项目中的文件 Ctrl+G:跳转到第几行 Ctrl+W:关闭当前打开文件 Ctrl+Shift+W:关闭所有打开文件 Ctrl+Shift+V:粘贴并格式化 Ctrl+D:选择单词,重复可增加选择下一个相同的单词 Ctrl+L:选择行,重...
阅读全文
摘要:8.8编程练习 1. void printInfo(char* str, int check = 0){ static int count = 0; ++count; if (check == 0) { cout #include #include #include using namesp...
阅读全文
摘要:8.7 复习题 1.经常被调用,逻辑简单,代码少,一般要求没有递归,没有循环。 2. void song(const char * name, int times);a.void song(const char * name, int times = 1);b.加默认值只改原型就行了c.vo...
阅读全文
摘要:1.内联函数比普通的函数稍快,但是要用更多的内存,每一个对象都有一个函数副本。 2.内联函数并不是声明了,最终就是内联的。编译器会自己筛选,例如代码过长,递归,都会被过滤掉。甚至编译器可能没有或者实现这种特性。 3.内联函数可以写到cpp文件里面的。一直都误会了只能写到头文件,搞到这么乱...
阅读全文
摘要:不定期更新: 2016年12月6日 3.清除IP地址 echo off cls title 清除IP设置 echo 正在清除IP地址,请稍候…… netsh interface ip set address name="本地连接" source=dhcp echo 正在清除DNS设置...
阅读全文
摘要:原文在这里,下文加了一些自己的见解和学习的笔记。 一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的...
阅读全文
摘要:1.ANSI C是C语言的标准,任何C语言的编译器都在ANSI C的基础上扩充。 ANSI C几乎不能完成任何程序的开发。TC、VC等都对ANSI C进行了扩充,加入了自己的规则和库之类的。 对于函数头: void fun();在ANSI C中,意味着不指出参数,后面定义参数列表。 而C++...
阅读全文

浙公网安备 33010602011771号