簡體   English   中英

如何在main()函數之外制作形狀

[英]How to make a shape outside of the main() function

我知道如何定義形狀(此處為矩形)並將其附加到C ++中的窗口,如下所示:

  #include <Simple_window.h>

void cir() { Circle c(Point(100,100),50); }

int main()
{
  Simple_window win(Point(100,100),600,400, "test");

  Rectangle r(Point(100,100),Point(300,200));
  win.attach(r);
  win.wait_for_botton();

}

但如何界定的形狀(比如一個circlecir()函數,它是)在外面main()函數是如何建立內部的CIR()函數的一個圓,它返回一個圈子,當我把它稱為在我的main()函數,以便可以將其附加到窗口win以使其可見?

PS:我只是通過PPP書( this )才學習C ++,直到第14章:-)

大概是這樣嗎?

  #include <Simple_window.h>

  Circle c(Point(100,100),50);

  int main()
  {
    Simple_window win(Point(100,100),600,400, "test");

    Rectangle r(Point(100,100),Point(300,200));
    win.attach(r);
    win.attach(c);
    win.wait_for_botton();
  }

或者,如果您想使用cir函數:

Circle cir()
{
  Circle c(Point(100,100),50);
  return c;
}

int main()
{
  Simple_window win(Point(100,100),600,400, "test");

  Rectangle r(Point(100,100),Point(300,200));
  win.attach(r);
  win.attach(cir());
  win.wait_for_botton();
}

也許您想做這樣的事情,從您的問題中很難知道:

// The & is important, it will pass this argument as a reference
void attachCircleToWindow(Simple_window &win) 
{
  Circle c(Point(100,100),50);
  win.attach(c);
}

int main()
{
  Simple_window win(Point(100,100),600,400, "test");

  Rectangle r(Point(100,100),Point(300,200));
  win.attach(r);
  attachCircleToWindow(win);
  win.wait_for_botton();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM