改变部分程序,应用调试

#include  <iostream>
 
using namespace std ;

class Student

{

private:

	int num ;
	char name [ 20 ] ;
	char sex ;

public:

	void set_data ( int n , char *p , char s )
		
	{
		num = n ;
		strcpy ( name , p );
			sex = s ;

	}


	void display ()
	

	{
		cout << "num:" << num << endl;
		cout << "name:" << name << endl;
		cout << "sex" << sex << endl;

	}
	};


int main()
{
	Student stud1 , stud2 ; //(1)
	stud1.set_data(1,"he",'f');//(2)
	stud2.set_data(2,"she",'m');//(3)
	stud1.display();//(4)
    stud2.display();//(5)

	return 0;
}
 
运行结果:


main()中语句1后调用stud1.display();

 

结果:

 

main()中语句(3)后调用stud2.sex='f';

 

结果:出现:C:\Documents and Settings\user\桌面\程序设计\Cpp1.cpp(44) : error C2248: 'sex' : cannot access private member declared in class 'Student'

         C:\Documents and Settings\user\桌面\程序设计\Cpp1.cpp(13) : see declaration of 'sex'

的错误提示!!!!

 

更改如下:把 char sex ; 改成公有的部分(如下)

#include  <iostream>   
   
using namespace std ;  
  
class Student  
  
{  
  
private:  
 
    int num ;  
    char name [ 20 ] ;  
    
  
public: 
	
	 char   sex ; 
  
    void set_data ( int n , char *p , char s )  
          
    {  
        num = n ;  
        strcpy ( name , p );  
            sex = s ;  
 
   }  
 
 
   void display ()  
     
 
   {  
       cout << "num:" << num << endl;  
       cout << "name:" << name << endl;  
       cout << "sex" << sex << endl;  
 
   }  
   };  
 
  
int main()  
{  
    Student stud1 , stud2 ; //(1)   
    stud1.set_data(1,"he",'f');//(2)   
    stud2.set_data(2,"she",'m');//(3)
	stud2.sex='f';
    stud1.display();//(4)   
    stud2.display();//(5)   
  
   return 0;  
}  
 
运行结果:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值