C++基础语法——初始化列表、父类指针、子类指针、多态、重写、虚函数、虚表、虚析构函数

1.初始化列表
  一种便捷的初始化成员变量的方式。
  只能用在构造函数中
  初始化顺序只跟成员变量的声明顺序有关

struct Person {
	int m_age;
	int m_height;
	Person(int age ,int height) {
		m_age = age;
		m_height = height;
	}
	//Person(int age, int height) :m_age(age), m_height(height) {

	//}初始化列表 与上面构造函数相同意思
};
int main() {
	Person person(18, 180);
}

2.父类指针、子类指针
  父类指针可以指向子类对象,是安全的,开发中经常用到(继承方式必须是public)
  子类指针指向父类指针是不安全的。

struct Person{
	int m_age;
};
class student : public Person {
	int m_score;
};
int main() {
	Person* p = new student();
	p->m_age = 10;	
        delete p;
}

3.多态
  默认情况下,编译器只会根据指针类型调用对应的函数,不存在多态
  多态是面向对象非常重要的一个特性
  同一操作作用于不同的对象,可以有不用的解释,产生不同的执行结果
  在运行时,可以识别出真正的对象类型,调用对应子类中的函数
  多态的要素:子类重写父类的成员函数(

你可能感兴趣的:(C++基础语法笔记,c++)