| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1211 人关注过本帖
标题:我也来个问题?一天拉都没弄出来!!
只看楼主 加入收藏
wangandy
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-8-14
收藏
 问题点数:0 回复次数:5 
我也来个问题?一天拉都没弄出来!!

关于局部类的一个问题

我认为程序没错但是怎么编译就编译不了??

郁闷!!!

#include<iostream.h> #include<string.h>

class StudentID { public: StudentID(int id=0) { value=id; cout<<"assigning srudent id"<<value<<endl; } ~StudentID() { cout<<"Destructing id"<<value<<endl; } protected: int value; }; class Student { public: Student(char* pName="noName",int ssID=0) { cout<<"Constructing student"<<pName<<endl; strncpy(name,pName,sizeof(name)); name[sizeof(name)-1]="\0"; StudentID id(ssID); } protected: char name[20]; StudentID id; }; void main() { Student s("Randy",9818); }

搜索更多相关主题的帖子: value int StudentID cout 
2004-08-17 22:39
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 

#include <iostream> #include <cstring> #include <cstdlib> using namespace std;

class StudentID { public: StudentID(int id=0) { value=id; cout<<"assigning srudent id "<<value<<endl; } ~StudentID() { cout<<"Destructing id"<<value<<endl; } protected: int value; }; class Student { public: Student(char* pName="noName",int ssID=0) { cout<<"Constructing student"<<pName<<endl; strncpy(name,pName,sizeof(name));

// strcpy(&name[sizeof(name)-1], "\0"); // you can solve the problem with this solution name[sizeof(name)-1]='\0'; // or with this solution StudentID id(ssID); } protected: char name[20]; StudentID id; }; int main() { Student s("Randy",9818); system("pause"); return 0; }


自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2004-08-18 04:41
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
收藏
得分:0 

楼上说的对,我也编译过!

name[sizeof(name)-1]='\0'; 后就正确了!

从结果上看,局部的对象实验成功!


永不放弃!
2004-08-18 17:04
金多虾
Rank: 2
等 级:论坛游民
帖 子:153
专家分:99
注 册:2009-6-9
收藏
得分:0 
没点编程的风格啊!
看着头痛!
2009-08-04 23:00
罗罗小菜鸟
Rank: 2
等 级:论坛游民
帖 子:12
专家分:17
注 册:2009-8-9
收藏
得分:0 
#include<iostream.h>
 #include<string.h>
 
class StudentID {  
public:  
    StudentID(int id=0) { value=id; cout<<"assigning srudent id"<<"   "<<value<<endl; }  
    ~StudentID() { cout<<"Destructing id"<<"   "<<value<<endl; }  
protected:  
    int value;  
};  
 
class Student {  
           public:  
               Student(char* pName="noName",int ssID=0)  
               {  
                   cout<<"Constructing student"<<"   "<<pName<<endl;
                   strncpy(name,pName,sizeof(name));  
                   name[sizeof(name)-1]='\0';  
                   StudentID id(ssID);
               }
           protected:  
               char name[20]; StudentID id;  
           };  
               
void main() { Student s("Randy",9818); }
 
Kai同学说得对,一个字符用的是单引号。
2009-08-13 21:48
哥特复兴
Rank: 2
来 自:China-上海
等 级:论坛游民
帖 子:20
专家分:64
注 册:2009-6-23
收藏
得分:0 
大家在写程序请写标准点,谢谢!!!
2009-08-30 16:41
快速回复:我也来个问题?一天拉都没弄出来!!
数据加载中...
 
   



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

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