870得票12回答
在成员函数声明的末尾,'const' 的含义是什么?

在这些声明中,const 的意思是什么? class foobar { public: operator int () const; const char* foo() const; };

521得票4回答
错误:将const xxx作为成员函数的'this'参数传递会丢弃限定符。

#include <iostream> #include <set> using namespace std; class StudentT { public: int id; string name; public: StudentT(i...

325得票15回答
为什么在构造函数中调用虚成员函数是非虚函数调用?

假设我有两个C++类: class A { public: A() { fn(); } virtual void fn() { _n = 1; } int getn() { return _n; } protected: int _n; }; class B : pub...

248得票8回答
如何将一个类及其成员函数分离到头文件和源文件中

我对如何将一个简单类的实现和声明代码分离到一个新的头文件和cpp文件中感到困惑。例如,我应该如何分离以下类的代码? class A2DD { private: int gx; int gy; public: A2DD(int x,int y) { gx = ...

156得票11回答
如何创建一个指向成员函数的指针并调用它?

如何获取类成员函数的函数指针,并在稍后使用特定对象调用该成员函数?我想写成这样: class Dog : Animal { Dog (); void bark (); } … Dog* pDog = new Dog (); BarkFunction pBark = &amp...

149得票2回答
运算符重载:成员函数 vs 非成员函数?

我读到过,将重载运算符声明为成员函数是不对称的,因为它只能有一个参数,而自动传递的其他参数是this指针。因此,不存在标准来比较它们。另一方面,作为friend声明的重载运算符是对称的,因为我们传递了两个相同类型的参数,因此它们可以进行比较。 我的问题是,当我仍然可以将指针的lvalue与引...

129得票8回答
如何将类成员定义为指向另一个成员函数的指针?

我想在一个类的成员中设置一个函数指针,该指针指向同一类中的另一个函数。我这样做的原因很复杂。 在这个例子中,我希望输出为"1"。 class A { public: int f(); int (*x)(); } int A::f() { return 1; } int main...

125得票3回答
为什么在派生类中调用一个非虚成员函数的影子函数,却没有调用基类的成员函数?

假设我们在Visual C++ 2010中有以下情景: #include <iostream> using namespace std; struct Base { void Display() { cout << "Base: Non-v...

69得票5回答
编译器为一个类创建的所有成员函数有哪些?这种情况是否总是发生?

编译器为类创建了哪些成员函数?这是否总是发生?例如析构函数。 我的关注点是是否为所有类创建它,并且为什么需要默认构造函数?

66得票3回答
“error: a nonstatic member reference must be relative to a specific object” 是什么意思?

int CPMSifDlg::EncodeAndSend(char *firstName, char *lastName, char *roomNumber, char *userId, char *userFirstName, char *userLastName) { ... ...