这些天分析OGRE源码,里面有关C++继承及父类子类转化运用,笔记记录如下:
一 子类转化父类
这里的”转化“不是真正的转化,是一种形式上的转化,主要用于多态,定义父子类函数如下:
#include "stdafx.h"
#include <iostream>
using namespace std;
class Base {
private:
int number;
public:
Base(){
number = 15;
}
virtual void test() {
std::cout << "Base test\n" << number << std::endl;
}
void write() {
std::cout << "Base write" << std::endl;
}
};
class Derived :public Base {
public:
int addData;
Derived(){
addData = 20;
number = 19;
}
void test() {
std::cout << "Derived test\n" << number<< std::endl;
}
void addTest()
{
std::cout << "Add test" << std::endl;
}
void testData()
{
std::cout << "Test Data" << addData<<std::endl;
}
void write() {
std::cout &