使用new命令创建类对象有什么区别?

时间:2014-09-29 22:15:28

标签: c++ class pointers

我正在尝试通过在C ++中制作简单的棋盘游戏来学习课程。我有一个名为" board"它有两个函数,drawBoard和fillBoard。 当我在主函数中创建对象时,我似乎有两个选择。

1)棋盘游戏;

2)board * gameboard = new board();

这两者有什么区别?在使用' new'时,我是否始终必须创建指针?运营商?我主要是试图了解我将使用哪一种情况。

另外,当我将其定义为指针时,我是否总是必须使用" - >"调用函数时,而不是点?

board.drawBoard();与board-> drawBoard();

这两者有什么不同?

1 个答案:

答案 0 :(得分:0)

  1)棋盘游戏;

这是在堆栈上创建的

  

2)board * gameboard = new board();

这是在堆上创建的。

  

使用' new'时,我是否始终必须创建指针?

  

我是否总是必须使用" - >"调用函数时代替点

- > operator只是(* board).drawBoard()的快捷方式。 如果要访问指针指向您使用星形的变量,指针是保存其他变量地址的变量。括号是因为运算符先验