C++ 期末复习(几个知识点)

  1. 带默认参数的构造函数,默认参数必须置于参数列表结尾
    例子:(int a,int b=0)正确(int a=0,int b)错误
  2. 拷贝构造函数:~用它所在类的对象引用作为参数
CExample(const CExample & c)
    {
        a=c.a;
        printf("copy constructor is called\n");
    }
  1. 静态数据成员赋初值
 class BB
{
private:
static int c; //静态成员变量
};

//静态函数中 不能使用 普通成员变量 普通成员函数 ..
int BB::c = 10;
  1. 调用基类方法(::)
class Base {
public: 
(virtual) void Show() const { cout << m << endl; }  }; 
}

Base::Show()
  1. 虚函数的继承
#include <iostream>
#include <cmath>
using namespace std;

class A{
public:
    void Show() const{
	cout<<"1"<<endl;
	}
};

class B:public A{
public:
	void Show() const{cout<<"2"<<endl;}
};
int main(){
  A *p=new B;
  p->Show();
  delete p;
  
  return 0;
}

结果输出的是1,然后我们在基类A的Show()方法前加上virtual

class A{
public:
    virtual void Show() const{
	cout<<"1"<<endl;
	}
};

结果输出为2
virtual使Show()成为虚函数,实现指向派生类的基类指针访问派生类成员函数。不清楚看这里


版权声明:本文为TonyWang972原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。