发新话题
打印

【讨论】如何定义一个指向数组的类成员指针?

【讨论】如何定义一个指向数组的类成员指针?

#include<iostream.h>) C+ o- o8 c# C/ W6 ]
#include<stdio.h>
) r7 r, B8 f& f$ |#include<stdlib.h>: j! q9 j2 Z' J8 E6 K9 `/ S
#include<string.h>: c. Z  M( h' {7 y0 u1 N
class pass_wd4 ~0 X9 j. \- J. J% ?# f! P
{
" C! Y& E) X1 w  ]! d0 jprivate: //定义私有成员
" q" x' K, U5 X+ x: Y1 ychar user[16],pass[16];
& O( {% U( E1 D" Wstatic int i;
" J# W4 J" `8 ]# y* s1 o* Wpublic: //定义共有成员3 ^4 s5 i* p: ^0 y. D
char *s;0 }" g. T, s# g7 Q7 |0 ]0 L( P- X/ w& h
pass_wd(char a[],char b[],char c[]) //构造函数. s, K& q! z+ C% `, V9 t5 S' _9 D
{5 f( ~/ G  H2 G" a2 ?$ W) j* b- K7 a
strcpy(user,a);
- q! y& h/ L0 Ostrcpy(pass,b);; G5 x5 }  _, h# M" g$ [
s=new char[sizeof(c)];9 X& R, S0 P6 A' ?
strcpy(s,c);
# @2 Z2 |( o* E, U; k4 `1 w, ci++;, u+ H, a5 ~2 v. j1 U: d
}; s) v  C3 I! C
pass_wd(pass_wd &p)
  e8 G0 I% X# L" b4 G3 d9 m+ u{$ H2 r4 U$ I3 N
strcpy(user,p.user);
1 U2 O% S/ D$ w9 X3 jstrcpy(pass,p.pass);# [7 O" }/ m3 i( @0 E  h# t, {6 U
strcpy(s,p.s);
" M+ @. ~3 x1 Q: K) B; r. n}; z+ F9 }( d0 F7 B7 }! h
~pass_wd() //析构函数* e  {  L7 i& d. a
{/ N" h: u* X) D" J6 ~' ^
cout<<"class is freed"<<endl;- Q# R2 x( I8 n
}
0 K) F. k  s0 v* ~void getuser()% `- h: z, o. r& Y! G
{$ A8 Q6 f) I3 b5 [: p5 T: a8 E# \
cout<<"user:"<<user<<endl;- u4 P4 t: I$ b7 t! d
}. }) g6 U" P( r) E0 M
void getpass(). g  b1 h+ b" {2 M; w5 L
{+ V8 P4 Z# Y: E8 `/ m/ |
cout<<"pass:"<<pass<<endl;) A8 X: t7 {! _. M2 Q
}
5 \+ K# ~' X0 }9 F1 O2 l0 _# hvoid gets()
$ C, A+ A! m) B{; ?: S4 ]& s. _
cout<<"s:"<<s<<endl; //this 永远指向当前调用对象,变量的地址* D3 I8 T" C7 J- l
}
3 A' y) @8 J) R* K, a};
0 h4 R" k" s1 r3 A% l" lint pass_wd::i=0;
, A' m/ z, s- ]char pass_wd::*t;
* _, {4 A! `5 Q) z0 W; Hvoid main()7 E5 a, g/ C7 a2 s( K0 l
{- f3 B4 L) b) T# E' k3 r
char ch;7 k0 s( d" ~( ?6 T
class pass_wd a("kala","12345","s123456"); //初始化对象
$ O4 Q* G7 Z2 F) {+ u3 Q; a0 Gt=&pass_wd::s; //vc++编译到这里就会产生错误。具体如下
, J4 Z/ p' h: T6 S7 p//error C2440: '=' : cannot convert from 'char *pass_wd::* ' to 'char pass_wd::*'
; _" r2 ?5 k" K, m! V& @class pass_wd *p;. g2 ~) s+ D7 I* K. z
p=&a;
) j; L8 S( [9 {8 E( F1 b6 \+ }a.getuser(); //引用共有成员
& g' {6 A4 L4 M# s' {4 v* Q  F6 j$ Oa.getpass();
: B# x5 s' s0 b6 ~+ fa.gets();+ c5 _6 |$ G3 }$ l3 w, k2 H
cout<<"----------------------------------------"<<endl;
% b, ^7 n3 s4 f0 s1 Bp->getuser();, V6 w0 s9 V4 _
p->getpass();# M& \+ b- |: \7 C* h( \
p->gets();& u. n- }5 [4 l: K
cin>>ch;$ q$ `& ~" h2 z
}
% g' j" }, B4 [- r这是程序源代码.我想知道的是.如何定义一个指向数组的类成员指针?      

TOP

看不懂你代码写的啥……问个问题,什么是定义什么是实例?      
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

定义?实力?指向类成员的指针应该都是一个说明吧.
9 c) g3 M1 ~# S4 @  g$ k我没把话说明白。其实我想知道。该如何说明一个指向成员数组的指针.+ C/ v8 H3 r1 S. Y# J  b* I) A
谢谢 .这段代码几乎是垃圾。只是用来测试用的      

TOP

发新话题