小编sri*_*enu的帖子

为什么派生类的大小包括基类的私有成员?

我有以下代码:

class A {
  private:
    int i;
 };

class B : public A {
 private:
  int j;
 };
Run Code Online (Sandbox Code Playgroud)

当我检查时sizeof(B),似乎是sizeof(base) + sizeof(derived).但是,我对继承的理解是private基类的成员不会被继承.那为什么他们被包括在结果中sizeof(B)呢?

c++ inheritance

6
推荐指数
3
解决办法
1931
查看次数

我们可以为参考变量分配一个整数值吗?

无法直接为引用变量分配整数值,例如:

int &x=10; //not possible
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以修改此语句以使其成为可能?

但不是这样的:

int a=10;int &x=a;
Run Code Online (Sandbox Code Playgroud)

这很好用.但我想要一些其他方式或修改我的表达并让它工作!

c++

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

我们可以在基类中声明一个具有相同签名但返回类型不同的函数吗?

问题可能看起来很愚蠢,但我想问..有没有办法我们可以在具有相同签名但不同返回类型(如int fun(int)和float fun(int))的类中声明一个方法,并且在对象期间创建我们可以动态决定要执行哪个函数!我有编译错误...有没有其他方法来实现这个逻辑可能正在使用模板...

c++

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

如何在单个遍历中找到单个链表的中间节点(如果未给出列表的长度)

我有一个问题陈述,如:"如何只在一次遍历中找到单链表的中间节点,而扭曲是我们不知道链表中的节点数?"

我有一个答案,比如"当你遍历链表并递增计数器直到你到达列表的末尾时,取一个向量并开始推送所有节点的地址".所以最后我们可以得到列表中的节点数量,如果是偶数(计数器/ 2)或者奇数(计数器/ 2 +计数器%2)给出中间节点数,那么我们可以得到vectore.at(middlenodenumber)点到中间节点".

这很好......但这是浪费内存存储一个非常大的链表的所有地址!那么我们如何才能有更好的解决方案呢?

c++ linked-list

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

单例类的析构函数被调用两次!

我有如下代码:

    class Singleton {
        private:
        int i;
        static bool stnflag;
        static Singleton* single;
        Singleton(int a)
        {
            i=a;
        }
        public:
        static Singleton* getinstance(int);
        void function();
        ~Singleton()
        {
          cout << "destructor is being called" << endl;
          stnflag=false;
        }
};

bool Singleton::stnflag=false;
Singleton* Singleton::single=NULL;
Singleton* Singleton::getinstance(int a)
{
        if(!stnflag)
        {
          single = new Singleton(a);
          stnflag=true;
          return single;
        }
        else
        {
                cout << "already single object created" << endl;
                return single;
        }
}

void Singleton::function()
{

cout << "private member value in single ton …
Run Code Online (Sandbox Code Playgroud)

c++

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

标签 统计

c++ ×5

inheritance ×1

linked-list ×1