小编leg*_*o69的帖子

为什么我们需要虚拟表?

我正在寻找有关虚拟表的一些信息,但找不到任何易于理解的内容.
有人可以给我一些很好的例子(不是来自维基),有解释或链接吗?

c++

10
推荐指数
3
解决办法
2965
查看次数

opengl中的背景颜色

我想按下按钮后改变窗口的背景颜色,但我的程序不起作用,有人可以告诉我原因,提前谢谢

int main(int argc, char* argv[])
    {
        glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
        glutInitWindowSize(800, 600);
        glutInitWindowPosition(300,50);
    glutCreateWindow("GLRect");

glClearColor(1.0f, 0.0f, 0.0f, 1.0f);   <---

    glutDisplayFunc(RenderScene);
        glutReshapeFunc(ChangeSize);
    glutMainLoop();

    system("pause");
glClearColor(0.0f, 1.0f, 0.0f, 1.0f);   <---

        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

opengl graphics glut

9
推荐指数
1
解决办法
5万
查看次数

通过C++引用

我有这段代码

Stack& Stack:: operator=(const Stack& stack){
   if(this == &stack){
      return *this
   }
}
Run Code Online (Sandbox Code Playgroud)

这里我定义操作=,但我不明白,如果我收到通过参考堆栈,为什么是&this == &stackthis == stack和我们为什么返回*return *this,而不是this在此先感谢您的帮助

c++

4
推荐指数
1
解决办法
245
查看次数

关于复制构造函数的问题

我有这门课:

class A {
private:
 int player;
public:
 A(int initPlayer = 0);
 A(const A&);
 A& operator=(const A&);
 ~A();
 void foo() const;
};
Run Code Online (Sandbox Code Playgroud)

我有包含这一行的函数:

 A *pa1 = new A(a2);
Run Code Online (Sandbox Code Playgroud)

有人可以解释究竟发生了什么,当我调用A(a2)编译器调用复制构造函数或构造函数时,请提前感谢

c++

3
推荐指数
1
解决办法
163
查看次数

使用grep从列表中选择与任何单词匹配的行

grep如果出现了单词列表中的至少一个元素,可以 选择行吗?例如

grep "hello world" file1 
Run Code Online (Sandbox Code Playgroud)

grep必须给我所有包含单词hello或单词world或两者都包含的行。

linux shell scripting csh tcsh

2
推荐指数
2
解决办法
3968
查看次数

容器之间的差异

我有点困惑,有人可以解释这些类型的容器之间的主要区别:

map
list
set
array
Run Code Online (Sandbox Code Playgroud)

谢谢advanca(我问的是C++)

c++

2
推荐指数
1
解决办法
3037
查看次数

关于C的简单问题

我有这段代码

char    *str = “123”;
if(str[0] == 1) printf("Hello\n");
Run Code Online (Sandbox Code Playgroud)

为什么我不能Hello提前收到我的谢意!编译器如何完成这种比较if(str[0] == 1)

c c++ comparison ascii

1
推荐指数
2
解决办法
253
查看次数

请求非标量类型

有人可以帮我解决一个错误

conversion from `A' to non-scalar type `B' requested
Run Code Online (Sandbox Code Playgroud)

我有A类并从它派生B,但我对这些行有问题:

A a(1);
A *pb = new B(a);
B b = *pb;    //here I have an error
Run Code Online (Sandbox Code Playgroud)

提前感谢您的帮助

class A {
protected:
    int player;
public:
    A(int initPlayer = 0);
    A(const A&);
    A& operator=(const A&);
    virtual ~A(){};
    virtual void foo();
    void foo() const;
    operator int();
};

class B: public A {
public:
    B(int initPlayer): A(initPlayer){};
    ~B(){};
    virtual void foo();
};
Run Code Online (Sandbox Code Playgroud)

编辑

我有这个代码和(我不能改变它):

A a(1);
A *pb = new B(a);
B b = …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance pointers

1
推荐指数
1
解决办法
4393
查看次数

C++中的转换

我有这段代码:

class A {
private:
    int player;
public:
    A(int initPlayer = 0);
    A(const A&);
    A& operator=(const A&);
    ~A();
    void foo() const;
friend A& operator=(A& i, const A& member);
};
Run Code Online (Sandbox Code Playgroud)

运算符=

A& operator=(A& i, const A& member){   
    i(member.player);
    return i;
}
Run Code Online (Sandbox Code Playgroud)

我的代码中有一行:

 i = *pa1;
Run Code Online (Sandbox Code Playgroud)

A*pa1 = new A(a2); 在开始我是int

我怎么能解决它,提前谢谢我有一个错误 must be non-static function

c++

-3
推荐指数
1
解决办法
129
查看次数

标签 统计

c++ ×7

ascii ×1

c ×1

comparison ×1

csh ×1

glut ×1

graphics ×1

inheritance ×1

linux ×1

opengl ×1

pointers ×1

scripting ×1

shell ×1

tcsh ×1