首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 程序设计解决办法

2012-09-23 
C++ 程序设计#ifndef STRING_H#define STRING_H#include string.h#include iostream.hclass String{fr

C++ 程序设计
#ifndef STRING_H
#define STRING_H
#include <string.h>
#include <iostream.h>
class String
{
friend ostream & operator<<(ostream &,const String &);
public:
 String(const char *str)
  :length(strlen(str))
 {
  sptr=new char [length];
  strcpy(sptr,str);
 }

 
private:
 int length;
 char *sptr;
};
ostream & operator<<(ostream & output,const String & string)
{
  output<<string.sptr;
  return output;
}
#endif

 
 
 
 
 
 
 
 
 
#ifndef TYPE1_H
#define TYPE1_H
#include "String.h"
class Type1Employee
{
public:
  Type1Employee(const String & first,const String & last,const String & number)
  {
  firstName=first;
  lastName=last;
  securityNumber=number;
  }
   
protected:
 String firstName;
 String lastName;
 String securityNumber;
};
#endif
 
 
 
 
 
 
 
 
 
#include <iostream.h>
#include "String.h"
#include "Type1Employee.h"
int main()
{
 String str1("I am a","Re","22-33-55");
 cout<<str1<<endl;
  return 0;
}
 

为什么用主函数调试确出现 没有默认的构造函数??

[解决办法]
>没有默认的构造函数??
如果你宣告了自己的constructor,那就不会有default constructor

你可以自己测试

C/C++ code
class ccc{public:    ccc(int) {}};int main(){    ccc A;}
[解决办法]
String(const char *str)
:length(strlen(str))
{
sptr=new char [length];
strcpy(sptr,str);
}
这不是已经初始化了吗?

热点排行