06 2020 档案
摘要:有了以上基础思想,接下来引入规则,就直接上例子告诉你怎么做,理解到这感觉就够了,内部具体怎么实现的能力有限,也不能回答,接下来以下面例子为例: #include<iostream> #pragma pack(4) using namespace std; class A { public: char
阅读全文
摘要:先看如下代码: #include<iostream> using namespace std; class Base1 { public: }; class Base2 { public: char ch; }; class Base3 { public: int ch; }; class Base
阅读全文
摘要:问题: 对于一个字节(8位)的无符号整型变量,求二进制中1的个数。 分析: 法一: (n%2)==1则二进制数n的最低位为1,用count记录下,接下来n减半; n/=2; (比如 11101001变为 01110100) 所以最基础版的代码如下: int GetAnswer1(unsigned c
阅读全文
摘要:标准写法: #include<iostream> #include<thread> using namespace std; void MyThread() { cout << "MyThread线程1开始了" << endl; cout << ".................." << end
阅读全文
摘要:带有虚基类的情况。 1 #include<iostream> 2 using namespace std; 3 class X 4 { 5 public: 6 int i; 7 }; 8 class A:public virtual X 9 { 10 public: 11 int j; 12 };
阅读全文
摘要:带有虚函数的情况。 下面情况编译器也会在需要的时候为其合成。 1.如果一个类自己声明为虚函数. 1 #include<iostream> 2 using namespace std; 3 class Base 4 { 5 public: 6 virtual void foo(){} 7 }; 8 i
阅读全文
摘要:如果一个类没有自己的构造函数,编译器会在需要的时候为其合成一个出来,俗称:合成默认构造函数。但是请注意是在需要的时候,并不是所有情况。 请看下面代码: 1 #include<iostream> 2 using namespace std; 3 class Foo { 4 public: 5 int
阅读全文
摘要:简单情况: #include<iostream> using namespace std; class A { public: virtual void foo() { cout << "virtual void foo()" << endl; } }; int main() { //通过对象调用,
阅读全文
摘要:#include<iostream> using namespace std; class A { public: int data; void foo(int x) { data = x; cout << "data=" << data << endl; } }; void foo(A* ps,
阅读全文
摘要:今天回顾了下C++初始化列表的知识,接下来我对这一知识作一总结。 我们在定义了一个类的时候,需要对类的成员进行初始化。关于初始化,有两种方法,一种在初始化列表中进行,另一种就是在构造函数中进行,对于这两种情况,各有各的使用场合,接下来先说说在什么情况下优先使用初始化列表。 第一种情况:当类中含有引用
阅读全文