标题:一道关于私有成员定义求解
取消只看楼主
ppvae
Rank: 1
等 级:新手上路
帖 子:25
专家分:2
注 册:2014-1-18
结帖率:85.71%
已结贴  问题点数:20 回复次数:1 
一道关于私有成员定义求解
# include <iostream.h>
# include <string.h>

class CRect
{
private:
    char *color;
    int  x_coordinate;
    int  y_coordinate;
    int length;
    int width;

public:
    CRect(char color1[], int x_coordinate1, int y_coordinate1, int length1, int width1);
    void SetColor(char *color1);
    void SetSize(int length1, int width1);
    void Move(int x_coordinate1, int y_coordinate1);
    void Draw();
};

int main(void)
{
    CRect A("blue",30,40,20,100);
    A.Draw();
    //A.SetColor("yellow");
    A.SetSize(100,50);
    A.Move(30,20);
    A.Draw();

    return 0;
}
CRect :: CRect (char color1[], int x_coordinate1, int y_coordinate1, int length1, int width1)
{
        strcpy(color,color1);
        x_coordinate = x_coordinate1;
        y_coordinate = y_coordinate1;
        length = length1;
        width = width1;
}
void CRect :: SetColor(char *color1)
{
    strcpy(color,color1);
}
void CRect :: SetSize(int length1, int width1)
{
    length = length1;
    width = width1;
}
void CRect ::  Move(int x_coordinate1, int y_coordinate1)
{

    x_coordinate = x_coordinate1;
    y_coordinate = y_coordinate1;
}
void CRect :: Draw()
{
    cout<<"颜色为:"<<color<<endl;
    cout<<"长度为:"<<length<<endl;
    cout<<"宽度为:"<<width<<endl;
    cout<<"坐标为:"<<x_coordinate<<" "<<y_coordinate<<endl;
}


为什么私有成员不能定义为 char *color这样程序就自己停止运行了 而char color{10]这样就可以呢
搜索更多相关主题的帖子: private include public color 
2014-09-15 22:43
ppvae
Rank: 1
等 级:新手上路
帖 子:25
专家分:2
注 册:2014-1-18
得分:0 
回复 3 楼 fl8962
good
2014-09-17 21:37



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




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

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