Shape(double x, double y) : xCoord(x), yCoord(y){}

xxyifan 2005-01-04 03:21:27
菜:
这样写是什么意思?
...全文
259 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
july81 2005-01-04
  • 打赏
  • 举报
回复
还有非静态const成员数据。
beyondtkl 2005-01-04
  • 打赏
  • 举报
回复
一般的函数不行。。。
一般的函数直接调用就是 不能用初始化列表形式
xxyifan 2005-01-04
  • 打赏
  • 举报
回复
那么如果不是构造函数,一般的函数,可以这样写吗?
我在VC6.0中写了一个,编译出错,为什么?
beyondtkl 2005-01-04
  • 打赏
  • 举报
回复
class BB: public A
{
private:
int i;
BB(double mm, int ii): A(mm), i(ii){}
};

->
class BB: public A
{
private:
int i;
public: // 漏写了。。老板在旁边。。。。
BB(double mm, int ii): A(mm), i(ii){}
};
beyondtkl 2005-01-04
  • 打赏
  • 举报
回复
class A
{
public:
A() { m = 0; }
A(double i) { m = i; }
private:
double m;
};

class BB: public A
{
private:
int i;
BB(double mm, int ii): A(mm), i(ii){}
};

你其他不对的地方
1. class base
{
base(){}
};
->
public:
base(){}; // 默认为private属性的 而构造函数为私有则不能被继承
2. class son:base 最好公有继承 class son: public base
accplk 2005-01-04
  • 打赏
  • 举报
回复
class base
{
base(){}
base(int a){}
};
class son:base
{
son():base(){}
son(int a):base(a){}
};
void main()
{
son s1();//调用第一个构造函数,并调用父类的第一个
son s2(3);//调用第二个构造函数,并调用父类的第二个,把3传到父类的构造函数中,去实例化父类
}
xxyifan 2005-01-04
  • 打赏
  • 举报
回复
那应该怎样去写?
sunsky8 2005-01-04
  • 打赏
  • 举报
回复
构造函数 不能显式 调用!!
beyondtkl 2005-01-04
  • 打赏
  • 举报
回复
构造函数 不能显式 调用!!
xxyifan 2005-01-04
  • 打赏
  • 举报
回复
还有一个问题:
在子类中的构造函数,如
class base
{
base(){}
};
class son:base
{
son():base(){}
};
可以这样写吗?如果不是构造函数可不可以这样?
zhangfjj 2005-01-04
  • 打赏
  • 举报
回复
还有对象成员.....
^_^
beyondtkl 2005-01-04
  • 打赏
  • 举报
回复
哈哈 。。。楼上的真快。。

是也 是也。。

还有引用也需要放到初始化列表
oo 2005-01-04
  • 打赏
  • 举报
回复
初始化列表;
效果相当于:
Shape(double x, double y) {xCoord = x; yCoord = y;}
但用初始化列表效率更高,另外,如果要初始化基类,只能放到初始化列表里。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧