0
這是問題#2從這個前面的問題:的Arduino:指針子類繼承和數組
大廈關閉史蒂芬的回答,我確實需要保存的指針之外堅持的陣列其範圍,這導致了一些奇怪的行爲。
這是我的 「局」 級我到目前爲止,包含多個子元素:
Board.h:
#ifndef Board_h
#define Board_h
#include <StandardCplusplus.h>
#include <serstream>
#include <string>
#include <vector>
#include <iterator>
#include "Arduino.h"
#include "Marble.h"
#include "Wall.h"
class Board
{
public:
Board();
void draw(double* matrix);
private:
Marble marble;
//std::vector<Actor> children;
Actor* children[2];
};
#endif
Board.cpp:
#include "Arduino.h"
#include "Board.h"
#include <math.h>
#include <iterator>
#include <vector>
Board::Board()
{
}
void Board::create(double* _matrix, int _cols, int _rows) {
Marble *marble = new Marble();
Wall wall;
children[0] = marble;
//children.push_back(marble);
//children.push_back(wall);
}
void Board::draw(double* matrix) {
Serial.println("board draw");
children[0]->speak();
}
在我「循環」功能我打電話
board.draw(matrix);
這導致一些堅果串行代碼被寫出。
很明顯,我不瞭解指針在數組中的指針的來龍去脈。
你的循環函數什麼是矩陣? – 2013-02-15 00:29:15
「大理石」是「演員」的一個子類嗎?大理石::說'虛擬'嗎? '演員::說'虛擬'嗎?如果三個答案都是肯定的,你的代碼應該可以工作。 – congusbongus 2013-02-15 00:31:40