社区
C++ 语言
帖子详情
我想请问一个c++对象的问题
xuhangtimitimi
2009-02-27 04:27:43
有class A,class B:public Aclass C:public B
这时用C构造一个对象c ,C c,同时会调用类B和A的构造函数,也就是c对象包含a和b,
然后要是再用A a构造一个A的对象,此时岂不是内存中有两份a对象
帮我解释一下好吗
...全文
91
8
打赏
收藏
我想请问一个c++对象的问题
有class A,class B:public Aclass C:public B 这时用C构造一个对象c ,C c,同时会调用类B和A的构造函数,也就是c对象包含a和b, 然后要是再用A a构造一个A的对象,此时岂不是内存中有两份a对象 帮我解释一下好吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
passionboy03
2009-02-27
打赏
举报
回复
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"A()"<<endl;
};
~A()
{
cout<<"~A()"<<endl;
};
};
class B:public A
{
public:
B()
{
cout<<"B()"<<endl;
};
~B()
{
cout<<"~B()"<<endl;
};;
};
class C:public B
{
public:
C()
{
cout<<"C()"<<endl;
};;
~C()
{
cout<<"~C()"<<endl;
};;
};
int main ()
{
C *q = new C();
delete q;
return 0;
}
运行结果:
A()
B()
C()
~C()
~B()
~A()
[Quote=引用楼主 xuhangtimitimi 的帖子:]
有class A,class B:public Aclass C:public B
这时用C构造一个对象c ,C c,同时会调用类B和A的构造函数,也就是c对象包含a和b,
然后要是再用A a构造一个A的对象,此时岂不是内存中有两份a对象
帮我解释一下好吗
[/Quote]
liuwg9999
2009-02-27
打赏
举报
回复
比如父亲是双眼皮,儿子继承了父亲的双眼皮,构造儿子的时候只是用了父亲双眼皮的这个基因,但并不在构造一次父亲,不知道这样理解对不对呢
疯哥哥
2009-02-27
打赏
举报
回复
"也就是c对象包含a和b" //c 是一个a,是一个b,但不是包含关系.
两个A的对象没有问题啊.对象是可以有多个的.楼主对类和对象的理解有误.
类是一个概念.对象是类的一个实例化.
把人类看作一个类,那么你和我,大家,任何一个人,都是这个类的对象啊..
class man
{
...
};
man you;
man he;
//you 和 he 都是man对象.
SendDlgItem
2009-02-27
打赏
举报
回复
怎么会这样理解呢??
继承只是子类可以调用父类的函数以及一些变量
并不是包含··
jqx_ah
2009-02-27
打赏
举报
回复
不是你那样理解的
再说建立两队对象 也不是不可能
xuhangtimitimi
2009-02-27
打赏
举报
回复
is-a, has-a
xuhangtimitimi
2009-02-27
打赏
举报
回复
好像是的
hhyttppd
2009-02-27
打赏
举报
回复
is-a, has-a不要搞错
【
C++
】使用 yaml-cpp 库操作 YAML
本文详细介绍在
C++
中使用yaml-cpp库解析和生成YAML格式数据。先讲解YAML入门知识,包括基本语法、数据类型等,接着介绍常用解析方法,然后说明yaml-cpp库的安装方式,最后给出生成和读取YAML的示例及编译命令。
C++
中的 .h 和 .cpp 详解
本文主要介绍了
C++
编程中.h和.cpp文件的使用。.h文件用于存放数据、数据结构、接口和类的定义,.cpp文件用于功能实现。还阐述了inline限定符的使用,以及非模板类型和模板类型在两个文件中的放置规则,帮助开发者更好地管理代码。
Cpp入门基础
本文是Cpp入门基础介绍。先讲述了Cpp的历史、版本迭代,其主流版本有
C++
11、
C++
14和
C++
17。接着介绍了Cpp在服务器端、游戏、机器学习等多领域的应用。还给出了Cpp的hello world代码示例,并重点讲解了命名空间的定义、价值和使用方式。
【Cpp】类和
对象
本文详细介绍了
C++
中的类和
对象
概念,包括面向过程与面向
对象
的区别,类的定义、成员变量和成员函数、访问限定符、作用域,以及类的实例化和内存占用。重点强调了类和
对象
在编程中的重要性及其实现细节。
【
c++
】cpp类和
对象
本文围绕
C++
展开,介绍了类的封装,包括属性和方法的封装与访问控制;
对象
的构造和析构,如构造函数的定义、调用及重载等;还讲解了new和delete的用法、类的声明和实现分开的方法、static与静态成员变量和函数,以及
C++
编译器对成员变量和函数的处理机制。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章