标题:关于构造函数的问题
取消只看楼主
o0花生0o
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-10-13
 问题点数:0 回复次数:3 
关于构造函数的问题
#include<iostream.h>
#include<stdlib.h>
class Stock
{
      char stockcode[10];
      int quan;
      double price;
public:
       Stock(char cd[],int q=1000 ,double p=8.98)
       {            
              strcpy(stockcode,cd);
              quan=q;
              price=p;   
       }
       void print(void);        
};
void Stock::print(void)
{
     cout<<this->stockcode<<" ";
     cout<<this->quan<<" ";
     cout<<this->price<<endl;
}            
int main()
{   
    Stock A="a",B("a",500,9.0);
    A.print();
    B.print();
    system("pause");
}
这个程序在声明构造函数时必须给出定义吗?
为什么在类外定义构造函数时会出错?
搜索更多相关主题的帖子: 函数 构造 
2007-12-05 17:12
o0花生0o
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-10-13
得分:0 
错误代码
#include<iostream.h>
#include<stdlib.h>
class Stock
{
      char stockcode[10];
      int quan;
      double price;
public:
       Stock(char cd[],int q=1000 ,double p=8.98);
             void print(void);        
};
Stock::Stock(char cd[],int q=1000 ,double p=8.98)
 {            
              strcpy(stockcode,cd);
              quan=q;
              price=p;   
      }

void Stock::print(void)
{
     cout<<this->stockcode<<" ";
     cout<<this->quan<<" ";
     cout<<this->price<<endl;
}            
int main()
{   
    Stock A="a",B("a",500,9.0);
    A.print();
    B.print();
    system("pause");
}
只是把构造函数放在类外定义就出错了
2007-12-06 00:41
o0花生0o
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-10-13
得分:0 
就是把cd的值赋给stockcode
strcpy是字符串拷贝函数






问题解决了
谢谢四楼了

[[italic] 本帖最后由 o0花生0o 于 2007-12-6 18:29 编辑 [/italic]]
2007-12-06 18:28
o0花生0o
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-10-13
得分:0 
没有处理字符串函数的头文件编译也没有出错
2007-12-10 09:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-190595-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.202741 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved