社区
C++ 语言
帖子详情
关于C++的几个简单问题
shotgun79
2003-10-15 10:04:37
1、如果将一个对象赋值给另一个对象,是数据成员内容的简单复制,还是为同一组数据成员命名另一个指针。
2、在创建对象时如使用如下方法(类名 对象名),是否一定要写在主程序的开始。
在引用对象成员时什么时候用“->”,什么时候用“.”
3、关于派生类构造函数和基类构造函数的关系。
如派生类不使用基类的构造函数,那么基类的构造函数在创建派生类对象时是否会被调用、激活?
派生类是否只有通过基类的构造函数才能访问基类的成员数据(当然是在基类中被定义为私有的)?
...全文
90
5
打赏
收藏
关于C++的几个简单问题
1、如果将一个对象赋值给另一个对象,是数据成员内容的简单复制,还是为同一组数据成员命名另一个指针。 2、在创建对象时如使用如下方法(类名 对象名),是否一定要写在主程序的开始。 在引用对象成员时什么时候用“->”,什么时候用“.” 3、关于派生类构造函数和基类构造函数的关系。 如派生类不使用基类的构造函数,那么基类的构造函数在创建派生类对象时是否会被调用、激活? 派生类是否只有通过基类的构造函数才能访问基类的成员数据(当然是在基类中被定义为私有的)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fifo333
2003-10-16
打赏
举报
回复
1、如果没有重载=操作符或者拷贝构造函数(使用函数调用操作符()时),那就是逐一复制成员。你可以重载=或定义拷贝构造函数改变缺省行为。
2、对象的指针使用->,实际对象包括引用使用.。
3、先执行基类构造函数,再执行派生类构造函数;析构时相反。派生类调用基类私有成员因该是有办法的,不过是间接的方式,具体的我不清楚了。
langzi8818
2003-10-15
打赏
举报
回复
2.对象可以在使用前定义就可以了,->指针用的,。是非指针用的
3。不明确调用基类的构造函数的时候,会自动调用基类的默认构造函数。这是必须调用的。
在public继承中,基类的非private成员是可以被子类直接用的!不是你说的要通过基类的构造函数调用,可以直接在子类中调用
Wolf0403
2003-10-15
打赏
举报
回复
如果赋值的是没有重载 operator= 的 struct/class 或者任意标准类型,结果和通过 memcpy 赋值的结果相同。
在创建对象之前必须出现该类/结构的声明。
从指针引用成员使用 ->,从实例引用成员使用 .
-> 就是 (* ). 的简写方法。
基类默认构造函数(无参)会被自动调用。然而,如果基类、派生类有接受相同参数的构造函数,基类仍然只会被调用默认的构造函数而不是对应的带参数的构造函数。
标准写法是:
class Derived : public Base
{
public:
Derived():Base(){} // 如果有对应的参数,应该传递参数给相应的基类构造函数。
};
不显式调用基类的构造函数无法初始化基类的私有数据。
daizh 说的顺序是正确的
showgood21
2003-10-15
打赏
举报
回复
2.创建对象不一定要写在主程序的开始,可以在使用对象前再创建
3.无论派生类使用基类的构造函数与否,生成派生类对象时总是先调用基类的构造函数,之后
才是派生类构造函数
daizh
2003-10-15
打赏
举报
回复
我简单的回答一下:
1、如果你的对象中没有指向资源(new出的空间),而直接将一个对象赋值给另一个对象,它只是将数据成员内容简单复制另一个对象。如果对象中含资源(new之类)你就不能这样赋值了,必须重载运算符“=”;
2、创建对象时如使用如下方法(类名 对象名),那么你就要在它的前面有该类的声明。如果是指针对象就用->,其他用“.”
3、派生类在生成对象是,它要调用基类的构造函数,然后是它本身的构造函数,析构时相反。
C++
语言基础视频教程
C++
语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍
C++
语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用
C++
语言解决
问题
,具备进一步学习利用
C++
开发应用程序的基础。
第一章 开始 |编写一个
简单
的
C++
程序
学习目标: 编写一个简答的
C++
程序 学习内容: 1、一个
简单
的
c++
程序 2、输入和输出 3、关于注释 4、控制流 5、类简介 6、书店程序 1.1 编写一个
简单
的
c++
程序 每个
C++
程序都包含一个或多个函数(function),其中一个必须命名为main。操作系统通过调用main来运行
c++
程序。 int main{ return 0; } 这是非常
简单
的的main函数,它什么也不干,只是返回给操作系统的一个值。 一个函数的定义包含四部分:返回类型(return
C/
C++
经典算法——约瑟夫
问题
C/
C++
经典算法——约瑟夫
问题
什么是约瑟夫
问题
一行代码解决约瑟夫
问题
!!!
C++
实现
简单
的求和
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
几个
数相加有键盘控制。 #include<iostream> using namespace std; int main(){ int a, n,x, sum = 0; cin >> a >> n; x = a; for ...
几个
简单
代码片段-- Google
C++
style guide
欧洲杯,德国VS意大利。战车遇到浪漫之师,结果如何? Who Cares!!!开球之前,review一下近期写的代码,发现一些代码写的不是很规范。于是,重新温习一下 Google
C++
style guide。之前博客有过介绍,谷歌
C++
编程规范笔记,现在只是用
几个
简单
的代码片段展示一下。定义常量、宏定义、枚举:// 使用下划线分隔 #define FLAG_FOO 0x0// 要有括号 #de
C++ 语言
64,683
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章