#include <iostream>
using namespace std;
class Generator {
public:
virtual float getSample(int sample)=0;
};
class Note {
public:
Generator *generator; // THIS IS WHAT IS CAUSING ME TROUBLE
Note(Generator *aGen){
generator = aGen;
}
};
class Synth : public Generator{
public:
virtual float getSample(int sample);
int varA;
int varB;
Synth(){
varA = 5;
varB = 8;
}
};
float Synth::getSample(int sample){
varA = sample;
varB = 3;
return 0;
}
class Track {
public:
Generator *generator;
Track(){
generator = new Synth();
}
};
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
Track track = Track();
Note n = Note(track.generator);
cout << "test" << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgR2VuZXJhdG9yIHsKcHVibGljOgogICAgdmlydHVhbCBmbG9hdCBnZXRTYW1wbGUoaW50IHNhbXBsZSk9MDsKfTsKCmNsYXNzIE5vdGUgewpwdWJsaWM6CgogICAgR2VuZXJhdG9yICpnZW5lcmF0b3I7IC8vIFRISVMgSVMgV0hBVCBJUyBDQVVTSU5HIE1FIFRST1VCTEUKICAgIE5vdGUoR2VuZXJhdG9yICphR2VuKXsKICAgICAgICBnZW5lcmF0b3IgPSBhR2VuOwogICAgfQp9OwoKY2xhc3MgU3ludGggIDogcHVibGljIEdlbmVyYXRvcnsKcHVibGljOgogICAgdmlydHVhbCBmbG9hdCBnZXRTYW1wbGUoaW50IHNhbXBsZSk7CiAgICBpbnQgdmFyQTsKCWludCB2YXJCOwoJU3ludGgoKXsKCQl2YXJBID0gNTsKCQl2YXJCID0gODsKCX0KfTsKCgpmbG9hdCBTeW50aDo6Z2V0U2FtcGxlKGludCBzYW1wbGUpewogICAgdmFyQSA9IHNhbXBsZTsKCXZhckIgPSAzOwoKCXJldHVybiAwOwp9CgpjbGFzcyBUcmFjayB7CnB1YmxpYzoKICAgIEdlbmVyYXRvciAqZ2VuZXJhdG9yOwoJVHJhY2soKXsKCQlnZW5lcmF0b3IgPSBuZXcgU3ludGgoKTsKCX0KfTsKCmludCBtYWluKCkgewogICAgY291dCA8PCAiISEhSGVsbG8gV29ybGQhISEiIDw8IGVuZGw7IC8vIHByaW50cyAhISFIZWxsbyBXb3JsZCEhIQoJVHJhY2sgdHJhY2sgPSBUcmFjaygpOwogICAgTm90ZSBuID0gTm90ZSh0cmFjay5nZW5lcmF0b3IpOwoJY291dCA8PCAidGVzdCIgPDwgZW5kbDsKCXJldHVybiAwOwp9